我无法使用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
的其他文件可以正常工作。
感谢您的帮助。
答案 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