这个问题已经有了答案:
Can I mix MySQL APIs in PHP?
4个答案
最近我在做一个项目,在浏览器中运行一个链接时,我想在数据库中插入一个值(数据在这个链接{https://masp203.000webhostapp.com/hinderset.php?speed=40}中传递,而速度的值(即40)将被存储到数据库中),我使用php代码来完成这项工作,并在https://www.000webhost.com/中创建了数据库。我上传了webhost的php代码public\u html。如下所示。
<?php
$servername = "server";
$username = "use******";
$password = "pass****";
$dbname = "db****";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO hinder (speed) VALUES ('".mysql_real_escape_string($_GET['speed'])."')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
但当我在浏览器中运行此链接时,它返回一个致命错误,而不是更新数据库:
Fatal error: Uncaught Error: Call to undefined function mysql_real_escape_string() in /storage/h9/224/1250224/public_html/hinderset.php:18 Stack trace: #0 {main} thrown in /storage/h9/224/1250224/public_html/hinderset.php on line 18
我评论了以下代码行:
$sql=“插入阻碍(速度)值('.mysql_real_escape_string($_get['speed'])。”);
并在php代码中添加了以下行
$sql = "INSERT INTO hinder VALUES (10)";
然后我在浏览器中运行链接,然后将值(即10)存储到数据库中。因此代码的连接部分工作得很好,但我认为还有其他问题。我无法解决。有人能帮我吗。
最佳答案
您与数据库的连接类型是mysqli
,但您尝试使用的函数是mysql
。
取代你
$sql = "INSERT INTO hinder (speed)
VALUES ('".mysql_real_escape_string($_GET['speed'])."')";
带着这个
$sql = "INSERT INTO hinder (speed)
VALUES ('".mysqli_real_escape_string($conn,$_GET['speed'])."')";
请远离www.000webhost.com。他们以许多非常糟糕的事情而闻名。
关于php - 当我在浏览器中运行链接时,如何在尝试将值(在链接中传递)存储到数据库时解决致命错误? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43236953/