2011-08-22 65 views
1

新PDO(版本的PHP-PDO-5.3.5-1.el5),並嘗試使用PDO的MySQL的插入時遇到了以下錯誤:獲得解析錯誤的PDO構建插入查詢時

PHP Parse error: syntax error, unexpected ';' in /var/www/appdb/test.php on line 3 

這裏是我使用的代碼:我一直對谷歌一個小時試圖弄清楚這一點,並一直無法確定什麼可能會造成這個錯誤

<?php 
    $DBH = new PDO("mysql:host=localhost;dbname=appdb", sqladmin, password); 
    $STH = $DBH->prepare("INSERT INTO appdb (id) values (default)"); 
    $STH->execute(); 
?> 

。提前致謝。

+0

你確定這就是你的代碼嗎? – Phil

+0

我們在這裏查看的是'/ var/www/appdb/test.php'的完整內容嗎?第3行的'/ var/www/appdb/test.php'中有什麼?因爲在這裏發佈的代碼中沒有語法錯誤... – DaveRandom

+0

@phil - 大多數情況下,我從文件中複製它,但我編輯的唯一東西是第2行的dbname和密碼。 – somecallmemike

回答

1
$DBH = new PDO("mysql:host=localhost;dbname=appdb", sqladmin, password); 

也許應該

$DBH = new PDO("mysql:host=localhost;dbname=appdb", $sqladmin, $password); 

,除非你有地方define('sqladmin','something');define('password','something');

+0

這是,但爲了這個例子的目的,我把垃圾數據。 – somecallmemike

+0

是的,但它不是一個語法錯誤,只是一個'E_NOTICE' ... – DaveRandom

+6

爲什麼人們把垃圾作爲他們的例子,所以我們無法知道什麼是「垃圾例子」,什麼是合法錯誤? – AlienWebguy

1

我最好的猜測將是一個未終止的字符串,最有可能圍繞憑證參數PDO構造你」已經編輯了你的問題。

我猜你有這樣的事情

$DBH = new PDO("mysql:host=localhost;dbname=appdb", "username", "password); 

或類似(注意最後失蹤引號)。

如果您使用帶語法高亮顯示的編輯器(想起記事本++),這些錯誤將很快變得明顯。

+0

我第二次假設... – DaveRandom