将php脚本转换为mysqli时出现问题


problems converting my php script to mysqli

我最近对我正在工作的一个网站做了很多更改,并完成了整个项目,取代了与数据库交互的旧mysql方法。在这个特定的脚本中,我很难让它正常工作。

旧代码是

$checkinfo = mysql_query("SELECT * FROM `myusers` WHERE `userid` = '$uid' LIMIT 1") or die(mysql_error());
if(mysql_num_rows($checkinfo) < 1){ //log and die if user isnt in db
  die("Incident has been logged!"); }
$myinfo = mysql_fetch_assoc($checkinfo);    

我的新代码是

$checkinfo = $mysqli->query("SELECT * FROM `myusers` WHERE `userid` = '$uid' LIMIT 1") or die('Error : ('. $mysqli->errno .') '. $mysqli->error);  
if($checkinfo->fetch_row() < 1){
    die("Incident has been logged!"); } 
$myinfo = $checkinfo->fetch_assoc();

现在它只是不为代码的其余部分设置我的数组。。。请指出我的愚蠢!感谢

通过使用->fetch_row(),它已经馈送了第一行。由于显式设置了LIMIT 1,所以下一次fetch调用将生成NULL

改为->num_rows

$checkinfo = $mysqli->query("SELECT * FROM `myusers` WHERE `userid` = '$uid' LIMIT 1") or die('Error : ('. $mysqli->errno .') '. $mysqli->error);  
if($checkinfo->num_rows < 1){
    die("Incident has been logged!"); // change this to something more meaningful.
} 
$myinfo = $checkinfo->fetch_assoc();