【发布时间】:2018-03-28 18:33:25
【问题描述】:
我正在尝试使用 php GET 方法将数据添加到我的 mysql 数据库中。 尽管出于测试目的打开 url 时会出现奇怪的错误。
这是我的代码:
<?php
$servername = "bernd-mysql.php-friends.de";
$username = "521_admin";
$password = "*****";
$dbname = "521_rfid_test";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
echo "<br/>";
$var1=$_GET["value1"];
$var2=$_GET["value2"];
echo $var1;
echo "<br/>";
echo $var2;
echo "<br/>";
$query = "INSERT INTO `accounts` (`id`, `firstName`)
VALUES ('".$var1."','".$var2."')";
if (mysqli_query($conn, $query)) {
echo "New record created successfully" . "<br />";
} else {
echo "Error: " . $query . "<br>" . mysqli_error($conn);
}
#mysql_query($query,$conn);
mysql_close($conn);
?>
当我打开带有 ?value1=00001&value2=9999 的 url 时,我得到以下输出。
连接成功
00001
9999
错误:插入帐户(id,firstName)值('00001','9999')
$查询,$conn); mysql_close($conn); ?>
我对 php 和 mysql 还很陌生,所以请多多包涵:)
【问题讨论】:
-
使用 mysqli_close($conn); 代替 mysql_close($conn);
-
id和firstName是什么数据类型?如果您考虑过部署您的应用程序,请先阅读 SQL 注入。 -
危险:你很容易受到SQL injection attacks的影响,你需要defend你自己。
-
当您与
mysqli连接时,您必须使用mysqli而不是mysql关闭连接.. -
您也不应该使用最后的 php 结束标记 (
?>)。这不是必需的,可能会导致很多问题。只需在文件末尾删除它即可。