php - mySQLi_affected_rows 检查不起作用,或者是...?

标签 php mysql mysqli sql-update rows-affected

(抱歉,我真的不知道我在做什么。)

我在 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/

相关文章:

MySQL 连接以查找不匹配项或可能是带排除的完整外部连接

Mysql复杂自然Join Select语句

php - 上传大文件时 mysqli insert 不起作用

php - Mysqli undefined variable

php - 在 PHP 中使用数据库创建类别

javascript - PHP Javascript 单一表单调用提交到两个表单

mysql - 未知字符集 : 'utf8mb4'

javascript - 从 sessionStorage 读取并使用 jquery 发送到 php 时删除引号

php - 在动态页面之间传递大字符串值的安全方法

php - 仅上传具有特定扩展名的文件