尝试使用get结果将数据放入mysql数据库中导致奇怪的错误

时间:2018-03-28 10:27:08

标签: php mysql post get

我正在尝试使用php GET方法将数据添加到我的mysql数据库。 虽然打开网址进行测试时会出现奇怪的错误。

这是我的代码:

<?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&amp; value2 = 9999 附加的网址时,我得到以下输出。

成功连接
00001
9999
错误:INSERT INTO帐户(id,firstName)VALUES('00001','9999') $查询,$康恩); mysql_close($康恩); ?&GT;

我对php和mysql很新,所以请耐心等待我:)

1 个答案:

答案 0 :(得分:-1)

这可能是因为您的字段“id”是数据库中的整数类型,如果是这样的话,您不应该为它的VALUES中放置昏迷,并且总是将其转换为整数,如下所示:

$ query =“INSERT INTO accountsidfirstName) VALUES(“。(int)$ var1。”,'“。$ var2。”')“;