Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ';成功'/';更新';消息取决于操作_Php_Mysql_Sql_Mysqli - Fatal编程技术网

Php ';成功'/';更新';消息取决于操作

Php ';成功'/';更新';消息取决于操作,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我得到了我的sql查询: 哇,你说得对。以下是全部代码: <?php //variables here // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error);

我得到了我的sql查询:

哇,你说得对。以下是全部代码:

<?php
//variables here

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO Results (...)
    VALUES (...)
    ON DUPLICATE KEY UPDATE (...)";

if ($conn->query($sql) === TRUE) {
    echo "Saved.";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

如何在插入数据时显示消息“Success”或在更新数据时显示消息“Update”?

根据,您可以检测是否插入了行或修改了行:

在重复密钥更新时,如果发生以下情况,则每行受影响的行值为1 该行将作为新行插入,如果更新了现有行,则为2,并且 如果现有行设置为其当前值,则为0

我已经在PDO中成功地使用了它,但我不能确认它在msyqli中是否也能正常工作。不过我很肯定会的

因此,您必须检查
$conn->infected_行的返回值

if ($conn->query($sql) === TRUE) {
    if ($conn->affected_rows === 1) {
        // new row inserted
    } else {
        // row found and possibly modified, you can filter for 0 or 2
        // if you need more details.
    }
} else {
    ...

MySQL不会向您显示任何消息,除了更改的行数。你在哪里问这个问题?@tadman,哇,你说得对。我更新了代码。啊,看起来好多了。美好的