我遇到了插入腳本的問題。我似乎無法讓我的腳本停止向mysql中插入空數據。我試過使用!空功能。但它仍然提交到數據庫中。以下是我的代碼:MYSQLI - 腳本不斷插入空數據
<?php
// Connect to MySQL
$mysqli = new mysqli('localhost', 'xxx', 'xxx', 'xxx');
if ($mysqli->connect_error) {
die('Connect Error: ' . $mysqli->connect_errno . ': ' . $mysqli->connect_error);
}
if (!empty($_POST)) {
// Insert into posts
$sql = "INSERT INTO posts (title, postdata) VALUES ('{$mysqli->real_escape_string($_POST['title'])}', '{$mysqli->real_escape_string($_POST['data'])}')";
$insert = $mysqli->query($sql);
// Print response from MySQL
if ($insert) {
echo "Success! Row ID: {$mysqli->insert_id}";
} else {
die("Error: {$mysqli->errno} : {$mysqli->error}");
}
// Close our connection
$mysqli->close();
}
?>
<form action="" method="POST">
<br>
<br>
Title:
<br>
<input type="text" name="title">
<br>
<br>
Post:
<br>
<textarea name="data" id="data"></textarea>
<br>
<br>
<input type="submit" name="submit">
</form>
發佈數據是否包含您試圖獲取的數據?另外,不要轉義值並將它們放入查詢中(這可能還不安全,即使比不轉義它更安全),您可以使用準備好的語句! – Jite
'$ sql'輸出爲什麼? – chris85
是的,腳本工作正常,但你可以按沒有提交輸入提交,它會繼續插入空白數據,我試圖去做的是使查詢失敗,如果發佈數據爲空 –