2014-10-20 51 views
-4

代碼給我解析錯誤這是給我一個解析錯誤

$sql = INSERT INTO 'tdrilslt_ramen'.'awnsers' ('name', 'choices'); 

整個代碼

<?php 

include 'database.php'; 

try{ 
$name = $_POST['name']; 

$sql = INSERT INTO 'tdrilslt_ramen'.'awnsers' ('name', 'choices'); 
$q = $conn->prepare($sql); 
$q->execute(array(
    ':name '=> $name, 
    ':choices ' => $choices)); 

}catch (Exception $e) { 
echo "Data could not be retrieved from the database."; 
exit; 
} 


?> 
+3

你看過PHP手冊的第一頁了嗎?字符串變量是如何定義和初始化的。 '$ sql =「INSERT INTO tdrilslt_ramen.awnsers(name,choices)」;' – Cheery 2014-10-20 20:46:06

+0

'setAttribute(PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION)'<=你需要那個。 – 2014-10-20 20:55:52

回答

3

你正在爲你的db/table使用錯誤的標識符。

它應該是反引號(注意,您目前使用引號)

另外,您使用的PDO和使用引號列名('name', 'choices')這是不正確。他們應該是:佔位符:

$sql = "INSERT INTO `tdrilslt_ramen`.`awnsers` (:name, :choices)"; 
+1

^^^ yepper ^^^。 – 2014-10-20 20:48:20

+3

和'('name','choices')'到'(:name,:choices)' – 2014-10-20 20:48:56

+1

這是一個常規的可以'蠕蟲....'awnsers'誰知道這是否拼寫相同的方式在數據庫中。很高興我沒有碰這個。 – 2014-10-20 20:49:43

1

您需要使用引號將字符串括

$sql = "Select ........ "; 
相關問題