2014-05-24 92 views
-3

编辑: 第一个脚本得到没有错误,只有一个白色的屏幕。 所以我测试了一段时间,这里的结果。 (并学会了基本知识......)从PDO没有连接到MySQL的PHP​​

Fatal error: Call to a member function rowCount() on a non-object in /var/www/tabelle/pizza/test_pdo3.php on line 11

首先是PDO版本,之后是一个没有PDO的版本。

<?php 

//Connect 
$db = new PDO('mysql:host=localhost;dbname=;pizzadb3', 'auser', 'passw', 
array('charset'=>'utf8')); 

//Ausführen des Querys mit möglicher Fehlerbehandlung per try, catch 
$stmt = $db->query('select * from pizzeria_table'); 

//Anzahl ermitteln 
$row_count = $stmt->rowCount(); 

echo 'Anzahl: '.$row_count.'<br/>'; 

//Jeder Datensatz aus $stmt wird zur Ausgabe in ein temp-Array $row gespeichert 
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
    echo $row['laden_name'].'/'.$row['vorwahl'].'<br/>'; 
} 

?> 

这个版本做什么做。

<?php 

//Connect 
$conn = mysql_connect('localhost', 'user', 'passw'); 
mysql_select_db('pizzadb3', $conn); 
mysql_set_charset('UTF-8', $conn); 

$sql = "select * from pizzeria_table"; 

//Ausführen des Statements und evtl. Fehlerbehandlung mit 'die' 
$result = mysql_query($sql) or die (mysql_error()); 

//Anzahl der Datensätze ermitteln 
$row_count = mysql_num_rows($result); 

echo 'Anzahl: '.$row_count.'<br/>'; 

//Jeder Datensatz aus $result wird zur Ausgabe in ein temp-Array $row gespeichert 
while($row = mysql_fetch_assoc($result)) { 
    echo $row['laden_name'].'/'.$row['vorwahl'].'<br/>'; 
} 

?> 

我该怎么办?

+0

你看着由PHP代码生成的HTML代码?你确定你应该看到什么吗?桌子上有内容吗?你有没有试过制作一个只包含核心功能的小程序,所以测试更容易?你试过什么了? – jornane

+0

与一个小的测试文件,并没有PDO一切正常。在大文件中,您可以看到一个按钮和一个带有一个单元的空表。我只是用PDO试着一个文件。 – gutschy

+0

打开PDO例外,[如此处所述](http://php.net/manual/en/pdo.error-handling.php)。 '$ dbh-> setAttribute(PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION);'然后看看你是否有任何错误。 –

回答

0

mysql:host=localhost;dbname=;pizzadb3

需要是:mysql:host=localhost;dbname=pizzadb3;

+1

嗨evan,非常感谢。 – gutschy