将我的 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,下一次提取调用导致 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();