2015-04-22 47 views
0

我試圖在我的查詢 找出語法錯誤的代碼塊是這樣的:PHP和MySQL的語法問題

$updatequery = "update patient_dim set dentist_id = $dentist_id where". 
       "patient_id = $patient_id"; 
$queryResult = mysql_query($updatequery,$con); 

if(!$queryResul){ 
     trigger_error("insert error" . mysql_error()); 
} 

mysql_close($con); 

那麼錯誤是這樣的:
注意:插入錯誤您的SQL語法中有錯誤;檢查對應於你的MySQL服務器版本使用附近的正確語法手冊「\‘1’,其中patient_id = 4」

我懷疑不正確的語法在$ updatequery聲明

的進一步信息值$ patient_id = 1,而$ dentist_id = 4的值,我試過所有的方法仍然是同樣的錯誤。反正感謝您的幫助

+0

給出'where'條件後的空格 –

+0

不要使用不推薦使用的'mysql_ *'API。使用'mysqli_ *'或'PDO'並瞭解準備好的語句。 – Jens

+0

要解決像這樣的錯誤,通常您會將查詢輸出到字符串並嘗試手動執行。這樣做會突出顯示,正如@AbhikChakraborty指出的那樣,您錯過了一個空間。 –

回答

1

你查詢哪裏

$updatequery = "update patient_dim set dentist_id = $dentist_id where patient_id = $patient_id"; 
+0

仍然不起作用,與語法相同的錯誤,該變量的所有值是正確的 –

+0

你可以更新您的問題與回聲價值的查詢 –

1
$updatequery = "update patient_dim set dentist_id = $dentist_id where". 
      " patient_id = $patient_id"; 

您忘記之後添加空格後需要space WHERE子句

+0

我會盡可能去說你不如去除串聯,只有一個,一行,查詢字符串(「更新patient_dim設置dentist_id = $ dentist_id其中patient_id = $ patient_id」) –

+0

@enkapsulate如果空格添加正確,這將工作以及.. –

0

WHERE子句必有條件之前一個空格之後。 使用方法如下。

<?php 
    $updatequery = "update patient_dim set dentist_id = ".$dentist_id ." where patient_id = ".$patient_id; 
    $queryResult = mysql_query($updatequery); 
    if(!$queryResult){ 
     die("insert error" . mysql_error()); 
    } 

    mysql_close($con); 
?> 
+0

我tred你的方法,仍然是相同的錯誤,所有變量具有正確的值 –

+0

echo $ updatequery並嘗試在SQL編輯器(PhpMyadmin)中執行查詢,它將幫助您捕獲錯誤。可以將if語句中的變量從$ queryResul更改爲$ queryResult(它是一個錯字錯誤)。我正在編輯查詢,請重試。 –

+0

請現在試試這個代碼。 –