Mysql

準備好的語句看起來正確但拋出錯誤 1064

  • November 25, 2021

我準備了一份更新使用者地址的聲明。但是我收到了錯誤 1064,我只是不知道可能出了什麼問題。我會很感激這方面的幫助。謝謝!此外,我 100% 確定訂單與我的數據庫匹配。

錯誤: 查詢錯誤:您的 SQL 語法有錯誤;檢查與您的 MySQL 伺服器版本相對應的手冊,以在第 1 行的 ’’ 附近使用正確的語法

程式碼:

$update = $conn->prepare("UPDATE `address` SET `firstName` = ?, `lastName` = ?, `phoneNum` = ?, `streetName` = ?, `streetNum` = ?, `country` = ?, `city` = ?, `postalCode` = ? WHERE `customerForeign` = ?");
$update->bind_param('sssssssii', $firstName, $lastName, $phoneNum, $streetName, $streetNum, $country, $city, $postalCode, $currentUserID);
$update->execute();

near ''表示在查詢的“結尾”出現了問題。這可能是不平衡的括號、缺少引號等。我沒有看到任何明顯的問題。請提供您要替換的值。

顯然,您不在英國——“郵政編碼”包括字母。而且,如果您在美國,您可能會擔心郵政編碼的前導零。

在我的 HTML 中,我傳遞給語句的名稱拼寫錯誤。 形式:

<form action="<?php echo $_SERVER['PHP_SELF'] . "?" . $user_to_update ?>" method="POST">
           <input type="text" placeholder="First Name" name="firstNameU" style="width: 360px;" value="<?php echo $row['firstName'] ?>" required>
           <input type="text" placeholder="Last Name" name="lastNameU" style="width: 360px;" value="<?php echo $row['lastName'] ?>" required>
           <br>
           <input type="tel" pattern="^[0-9-+\s()]*$" placeholder="Phone +xxxxxxxxx" name="phoneNumU" style="width: 360px;" value="<?php echo $row['phoneNum'] ?>" required>
           <input type="street" placeholder="Street Name" name="streetNameU" style="width: 300px;" value="<?php echo $row['streetName'] ?>"  required>
           <input type="text" placeholder="Street Number" name="streetNumU" style="width: 300px;" value="<?php echo $row['streetNum'] ?>"  required>
           <br>
           <input type="number" placeholder="Postal Code: xxxxx" name="postalCodeU" style="width: 300px;" value="<?php echo $row['postalCode'] ?>" required>
           <input type="city" placeholder="City" name="cityU" style="width: 300px;" value="<?php echo $row['city'] ?>" required>
           <select type="country" name="countryU" id="countryU" style="width: 300px;"  required>
               <option value="<?php echo $row['country'] ?>"><?php echo $row['country'] ?></option>
               <option value="France">France</option>
               <option value="Slovakia">Slovakia</option>
               <option value="Denmark">Denmark</option>
               <option value="Germany">Germany</option>
               <option value="Italy">Italy</option>
           </select>
           <br>
           <input type="reset" name="clear" value="Clear Fields" style="color: white; background-color: red; float: left; border: none; width: 300px;">
           <input type="submit" name="update" value="Update Address" style="color: white; background-color: blue; float: right;">
       </form>

它在輸入類型 tel 中,我在名稱末尾缺少 U。

引用自:https://dba.stackexchange.com/questions/303118