Php 错误:1064 MySQL随机启动
我想连接到我的MySQL数据库,但我得到了错误1604Php 错误:1064 MySQL随机启动,php,mysql,Php,Mysql,我想连接到我的MySQL数据库,但我得到了错误1604(错误:1064:您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以获取第1行“”附近使用的正确语法)。我不知道这是怎么发生的,因为以前从未发生过。它只是随机开始的 这是我的密码: <?php // Only process the form if $_POST isn't empty if ( ! empty( $_POST ) ) { // Connect to MySQL $mysqli = new mysq
(错误:1064:您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以获取第1行“”附近使用的正确语法)
。我不知道这是怎么发生的,因为以前从未发生过。它只是随机开始的
这是我的密码:
<?php
// Only process the form if $_POST isn't empty
if ( ! empty( $_POST ) ) {
// Connect to MySQL
$mysqli = new mysqli( '***', '***', '***', '***' );
// Check our connection
if ( $mysqli->connect_error ) {
die( 'Kan niet verbinden met database. Probeer het later opnieuw. ' . $mysqli->connect_errno . ': ' . $mysqli->connect_error );
}
// Insert our data
$sql = "INSERT INTO inschrijven (naam, email, aantal,ip) VALUES ('{$mysqli->real_escape_string($_POST['naam'])}', '{$mysqli->real_escape_string($_POST['email'])}', '{$mysqli->real_escape_string($_POST['aantal'])}','{$mysqli->real_escape_string($_SERVER['REMOTE_ADDR'])}'";
// validate agree unless you want to add 'checked' to one of the values
$insert = $mysqli->query($sql);
// Print response from MySQL
if ( $insert ) {
echo "U bent succesvol ingeschreven! U heeft bootnummer: {$mysqli->insert_id}. Op de naam: . U krijgt hiervan nog een bevesteging op uw mail, uw bootnummer kan nog veranderen. Hopelijk zien we u op de BotenBouwDag 2016!";
} else {
die("Error: {$mysqli->errno} : {$mysqli->error}");
}
$mysqli->close();
}
?>
<HTML>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<title>
Welkom op de officiële site van de BotenBouwDag 2016
</title>
</head>
<body>
<form method="post" action="">
<input name="naam" id="naam" type="text">
<input name="email" id="email" type="email" autocomplete="off">
<input name="aantal" id="aantal" type="number">
<input type="radio" name="eten"> Ja
<input type="radio" name="eten"> Nee
<input type="submit" id="submit" value="Verstuur Informatie">
</form>
<div id="ip"></div>
<div id="address"></div>
<script type="text/javascript">
$.get("http://ipinfo.io", function (response) {
$("#ip").html("IP: " + response.ip);
document.getElementById('city').value = response.city;
}, "jsonp");
</script>
</body>
</HTML>
您的查询缺少一个)
值,该值位于第1行:
$sql = "INSERT INTO inschrijven (naam, email, aantal,ip) VALUES ('{$mysqli->real_escape_string($_POST['naam'])}', '{$mysqli->real_escape_string($_POST['email'])}', '{$mysqli->real_escape_string($_POST['aantal'])}','{$mysqli->real_escape_string($_SERVER['REMOTE_ADDR'])}'";
应该是
$sql = "INSERT INTO inschrijven (naam, email, aantal,ip)
VALUES (
'{$mysqli->real_escape_string($_POST['naam'])}',
'{$mysqli->real_escape_string($_POST['email'])}',
'{$mysqli->real_escape_string($_POST['aantal'])}',
'{$mysqli->real_escape_string($_SERVER['REMOTE_ADDR'])}'
)";
快速浏览:您的查询中缺少一个结束语)
。无论如何,我更喜欢事先准备好的语句。@Sirko我看不到缺失的“)”,而且它在错误“第1行”中也写了,我认为这是最奇怪的部分,因为它只写了“第1行”是指SQL查询的第1行,而不是PHP文件的第1行。这可能与您试图插入的值有关吗?正如您所说,这种情况突然开始发生,这意味着查询已运行到某个点。只需在发送查询之前尝试输出查询即可。那你自己可能会看到。