您好,我仍在尝试更改为 mysqli,并且有时我可以让事情顺利进行。 我拥有的最大的东西是 mysqli_result,我尝试了其他人所做的事情,但似乎不起作用。 下面是代码:
$result = mysqli_query($con, "SELECT referer FROM users WHERE userId = '$key'");
if(mysql_result($result, 0) != "" ){
$referer = mysql_result($result, 0);
$result = mysqli_query($con, "SELECT referer FROM users WHERE userId = $referer'");
if(mysql_result($result, 0) != "" ){
$result2 = mysqli_query($con, "SELECT refered FROM users WHERE userId = $referer'");
$newRefs = mysql_result($result2, 0) + 1;
mysqli_query($con, "UPDATE users SET refered = '$newRefs' WHERE userId = '$referer'");
$result3 = mysqli_query($con, "SELECT userName FROM users WHERE userId = '$key'");
$refered = mysql_result($result3, 0);
}
}
如果有帮助,我们将不胜感激。
亲切的问候 乍得
最佳答案
你不能像这样混合使用 mysql_
和 mysqli_
函数。另外,mysql_result
是严肃的老派。 mysqli
中没有类似的东西(这是一件好事)。我切换到mysqli_fetch_assoc ,它接受您的查询并返回一个以字段名称作为键的关联数组。为了统一起见,我将所有内容都保留为程序性(我讨厌将 OOP 与程序性混合在一起)。我应该注意到,您的代码编写起来非常复杂(例如 $key
没有在任何地方定义)。最好避免重复使用像您这样命名的变量。我还强烈建议切换到全对象代码库。
$result = mysqli_query($con, "SELECT referer FROM users WHERE userId = '$key'");
if($row = mysqli_fetch_assoc($result)){
$result2 = mysqli_query($con, "SELECT referer FROM users WHERE userId = '" . $row['referer'] . "'");
if($row2 = mysqli_fetch_assoc($result2)){
$result3 = mysqli_query($con, "SELECT refered FROM users WHERE userId = '" . $row2['referer'] . "'");
$newRefs = mysqli_fetch_assoc($result3);
mysqli_query($con, "UPDATE users SET refered = '" . $newRefs['refered'] . "' WHERE userId = '" . $row['referer'] . "'");
$result4 = mysqli_query($con, "SELECT userName FROM users WHERE userId = '$key'");
$refered = mysqli_fetch_assoc($result4);
}
}
关于php - 无法弄清楚这个 mysql 到 mysqli 的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21353486/