我无法使用PHP更新MySQLi数据库(无错误)

时间:2019-12-08 14:08:39

标签: php mysql mysqli

我无法使用PHP更新数据库。我没有任何错误,但没有任何改变!

这是我的文件:

<?php
include_once 'dbh.inc.php';
?>


<?php
    $id = $_GET['verId'];
    $name = $_GET['verName'];
    echo $id;
    echo $name;
    $sql  = "UPDATE allusers SET ver = '1' WHERE idUsers = '$id';";
?>

变量已定义并起作用。 这是dbh.inc.php文件:

<?php

$servername = "localhost";
$dBUsername = "root";
$dBPassword = "";
$dBName = "loginsystem";

$conn = mysqli_connect($servername, $dBUsername, $dBPassword, $dBName);

if (!$conn) {

    die("Connection failed: ".msqli_connect_error());

}
?>

使用dbh.inc.php的其他文件可以正常工作。 感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您需要执行SQL,但是使用MySQLi的方式是非常错误的。让我向您展示如何开始一个简单的查询。

首先在您的dbh.inc.php中(您也应正确命名),您应具有以下代码:

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$conn = new \mysqli("localhost", "root", "", "loginsystem");
$conn->set_charset('utf8mb4');

请勿使用root进行连接。使用正确的密码创建有效的MySQL用户。

然后在您的主PHP文件中,可以按以下方式使用它:

<?php

include_once 'dbh.inc.php';

$id = $_GET['verId'];
$name = $_GET['verName'];
echo $id;
echo $name;

// prepare -> bind data -> execute
$stmt = $conn->prepare("UPDATE allusers SET ver='1' WHERE idUsers=?");
$stmt->bind_param('s', $id);
$stmt->execute();

我在这里使用了所谓的准备语句。您可以在此处了解有关MySQLi的更多信息:https://phpdelusions.net/mysqli_examples/update