2015-05-12 35 views
-5

我不知道爲什麼它沒有任何幫助? :)PDO MYSQL爲什麼不能工作?

這將返回0;

$stmt3=$db->query('SELECT COUNT(*) as "ilosc" FROM plat_user WHERE `imie`="'.$_POST['imie'].'" AND `nazwisko`="'.$_POST['nazwisko'].'" AND `nip`="'.$_POST['nip'].'" AND `email`="'.$_POST['email'].'" AND `grupa`=1'); 
$stmt3->execute(); 
$row3 = $stmt3->fetch(); 
echo $row3['ilosc']; 

此代碼的工作和(返回1):

$rowy = mysql_num_rows(mysql_query('SELECT COUNT(*) as "ilosc" FROM plat_user WHERE `imie`="'.$_POST['imie'].'" AND `nazwisko`="'.$_POST['nazwisko'].'" AND `nip`="'.$_POST['nip'].'" AND `email`="'.$_POST['email'].'" AND `grupa`=1')); 

生成的查詢是在phpMyAdmin好它返回1我不知道爲什麼PDO返回0

+2

'SELECT COUNT()'將始終返回1行,但計數的值可能爲零,那麼這裏的實際問題是什麼?您是否考慮過記錄生成的SQL,並手動驗證? –

+0

你的'AS'語法是錯誤的。將表名和列名換成反引號,而不是引號。 – halfer

+0

在MySQL的查詢返回1這是很好,但在PDO查詢返回0,並不'現在爲什麼。 –

回答

0

試試看:

$stmt3=$db->query('SELECT COUNT(*) as "ilosc" FROM plat_user WHERE `imie`="'.$_POST['imie'].'" AND `nazwisko`="'.$_POST['nazwisko'].'" AND `nip`="'.$_POST['nip'].'" AND `email`="'.$_POST['email'].'" AND `grupa`=1'); 
$stmt3->execute(); 
$row3 = $stmt3->fetch(PDO::FETCH_ASSOC); // changes here 
echo $row3['ilosc'];