(抱歉,我真的不知道我在做什么。)
我在 Facebook 的 iframe 中有这个 Unity 游戏,它调用同一目录中的一个 php 文件,这很有效。我想让它做的是更新播放器记录(如果存在),如果不存在则创建一个。
此脚本运行但它始终返回“不在此处”,当我检查数据库时,它实际上每次都在创建记录,除了日期时间字段外,它们都是相同的。所以我不明白为什么 affected_rows 永远不会返回为“1”。
<?php
$db = @new mysqli('••.•••.•••.••', '•••••••••••', '••••••••','•••••••••••');
if ($db->connect_errno)
{
echo("Connect failed "+mysqli_connect_error());
exit();
}
$inIP = $_POST["ip"];
$playerIP = mysqli_real_escape_string($db, $inIP);
$inUN = $_POST["un"];
$playerUN = mysqli_real_escape_string($db, $inUN);
$query = "UPDATE lobby SET whens=NOW(), wherefores='$playerIP', whys=0 WHERE whos='$playerUN'";
mysqli_query($db, $query);
if (mysqli_affected_rows($db) > 0)
{
echo "here";
}
else
{
$query2 = "INSERT INTO lobby (whens,whos,wherefores,whys) values (NOW(),'$playerUN','$playerIP',0)";
mysqli_query($db, $query2);
echo "not here";
}
if ($db)
{
$db->close();
}
?>
最佳答案
你有一个错字:
wherefores=$playerip
应该是
wherefores=$playerIP
因为这样
mysqli_affected_rows($db)
返回
-1
关于php - mySQLi_affected_rows 检查不起作用,或者是...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15730672/