我在第1行收到錯誤'1',我對此有點難過;我是一個完整的noob,通常嘗試糾正的東西,而不要求幫助MySQL語法錯誤:第1行附近'1'
它將所有數據正確輸入到數據庫,但提供了這個錯誤。
還有一些其他線程有同樣的問題,其中一個的解決方案是: 「這就是錯誤出現的原因:你試圖調用mysql_query和最後更新查詢的結果。字符串,只是'1'。「
$title = mysqli_real_escape_string($con, $_POST['title']);
$firstname = mysqli_real_escape_string($con, $_POST['firstname']);
$lastname = mysqli_real_escape_string($con, $_POST['lastname']);
$jobtitle = mysqli_real_escape_string($con, $_POST['jobtitle']);
$address = mysqli_real_escape_string($con, $_POST['address']);
$address2 = mysqli_real_escape_string($con, $_POST['address2']);
$address3 = mysqli_real_escape_string($con, $_POST['address3']);
$postcode = mysqli_real_escape_string($con, $_POST['postcode']);
$telephone = mysqli_real_escape_string($con, $_POST['telephone']);
$email = mysqli_real_escape_string($con, $_POST['email']);
(我知道我應該真正使一個準備好的聲明)
$sql = mysqli_query($con, "UPDATE users SET title='$title', firstname='$firstname', lastname='$lastname', jobtitle='$jobtitle', address='$address', address2='$address2', address3='$address3', postcode='$postcode', telephone='$telephone', email='$email' WHERE username='$user'");
if (!mysqli_query($con,$sql)) {
$result_array = mysql_fetch_assoc($qStuff);
die('Error: ' . mysqli_error($con));
}
您執行查詢,並把結果放到$ SQL,然後您執行結果 – Kickstart
請勿混用來電呼叫'mysqli的_ *()' 'mysql _ *()' - 這兩個不兼容。 'UPDATE'不返回結果集。最後,你正在使用$ qStuff,但它並沒有在任何地方初始化。 –
記住適當地逃避輸入數據是件好事,但更好更清潔的解決方案是使用準備好的語句。 唉,我對MySQLi不夠熟悉,不知道應該怎麼做,但這應該足以讓你幫助你搜索。 – glglgl