php-mysqli stmt num_rows总是返回0


php mysqli stmt num_rows always returns 0

我读过一些关于stackoverflow的其他相关问题,但没有一个能解决我的问题。这是我的代码:

$stmt = $conexion->prepare("SELECT Email, MaxActiv FROM `Keys` WHERE ProdKey = ?");
                $stmt->bind_param('sss', $varKey);
                $stmt->execute();
                //$stmt->bind_result($Email, $MaxActiv);
                $stmt->store_result();
                echo "rows: " . $stmt->num_rows . " - " . $Email;
                //Comprobamos si la key existe (esta comprada)
                if ($stmt->num_rows > 0 ){

但它总是返回0,即使密钥实际上存在于数据库上

您的绑定参数字符串包含太多字符,'sss'表示它需要3个字符串

$stmt->bind_param('sss', $varKey);

应更改为:

$stmt->bind_param('s', $varKey);