最近我一直在研究一个项目,我想在浏览器中运行链接时向数据库插入一个值(数据在此链接中传递{https://masp203.000webhostapp.com/hinderset.php?speed=40}并且值为速度即将40存储到数据库中。我使用php代码执行此操作并在https://www.000webhost.com/中创建数据库。我上传了webhost的php代码public_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 =&#34; INSERT INTO阻碍(速度)VALUES(&#39;&#34; .mysql_real_escape_string($ _ GET [&#39; speed&#39;])。&#34;&#39;)& #34 ;;
并在php代码中添加以下行
$sql = "INSERT INTO hinder VALUES (10)";
然后我在浏览器中运行链接,然后将值(即10)存储到数据库中。所以代码的连接部分工作正常,但我想其他问题。我无法弄明白。可以有人请帮帮我。
答案 0 :(得分:1)
您对数据库的连接类型为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'])."')";
P.S。远离www.000webhost.com。他们以很多非常糟糕的事情而闻名。