-1
我正在使用PHP數據對象(PDO)的數據庫,我使用try-catch塊。我有下面的代碼在我的try塊SQLSTATE [42000]錯誤
$name=$email=$subject=$message="";
if($_SERVER["REQUEST_METHOD"]=="POST"){
$name = $_POST["name"];
$email = $_POST["email"];
$subject = $_POST["subject"];
$message = $_POST["message"];
}
$servername = "//I have some IP Here";
$username = "//somuser";
$password = "//somepassword";
$dbname = "lifeimpu_userrequest";
$conn = new PDO("mysql:host=$servername;dbname=$lifeimpu_userrequest", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO ContactUs(name, email, subject, message) VALUES ($name, $email, $subject, $message);";
$conn->exec(sql);
echo "Data Submitted Successfully";
我不知道爲什麼我總是得到
SQLSTATE [42000]:語法錯誤或訪問衝突:1064您有一個 錯誤你的SQL語法;檢查對應於您 MySQL服務器版本使用附近的「SQL」在1號線
這只是$ conn-> EXEC(SQL)執行後出現在正確的語法手冊;。執行直接跳到catch塊。
我試圖在phpMyAdmin中執行這些SQL,它工作正常。我不知道爲什麼它在代碼中不起作用。
$名稱,$電子郵件,$主題,$消息是字符串,你需要'字符串符號 –
已經添加''但仍然不起作用 – Wongsakorn
嘗試'$ conn-> query($ sql);' –