2011-01-23 125 views
-2
<?php 
$host = 'localhost'; 
$dbusername ='root'; 
$dbpassword =''; 
$database ='mp19'; 

$link =mysql_connect('localhost', 'root','12345678'); 
$db_selected = mysql_select_db('mp19', $link); 

if (!$link) 
    {exit("Connection Failed: " . $link);} 

$sql="(SELECT * FROM 3-33)"; 
$result=mysql_query($sql, $link); 


if (!$result) 
    {exit("Error in SQL");} 

echo "<table><tr>"; 
echo "<th>Date</th>"; 
while ($row=mysql_fetch_assoc($result)) 
    { 
    var_dump($row); 
    echo "<td>$row['date']</td></tr>"; 
    } 
mysql_close($link); 
?> 

連接成功,但數據不會從phpmysql中獲取,也不會在表中打印。這是爲什麼?Javascript和PHPMySQL

+0

下次請格式化您的代碼。 – GolezTrol 2011-01-23 09:32:46

+1

`while(mysql_fetch_row(mysql_query))`--- omg,這是什麼?!?! – zerkms 2011-01-23 09:32:57

+0

她之前已經問過問題了,我指出了錯誤,但她完全不知道如何通過php從數據庫獲取數據。所以我編輯她的問題,以儘量減少錯誤 – 2011-01-23 09:38:40

回答

0

查詢是無效的 - 嘗試在命令行中加載你的MySQL客戶端並運行它:

mysql -uroot mp19 -p 
(SELECT * FROM 3-33) 
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '3-33' at line 1 
1

我認爲你做了一些錯誤。看起來你對這些功能的工作原理缺乏基本的瞭解。幾乎所有這些變量都會返回一些變量(如鏈接資源或行數組),您可以在其他代碼中使用它們。如果通話失敗,這些功能將返回false。所以你應該檢查一下值是否明確false(通過使用===運算符)並且只有在一切正常時才繼續。然後,您必須使用函數的結果值,而不是函數本身。 mysql_query僅僅是調用,而不是結果。

<?php 
$host = 'localhost'; 
$dbusername ='root'; 
$dbpassword =''; 
$database ='mp19'; 

$link = mysql_connect('localhost', 'root','12345678'); 

if ($link === false) 
{ 
    exit("Connection Failed: " . mysql_error()); 
} 

if (mysql_select_db('mp19', $link) === false) 
{ 
    exit("Could not select database mp19: " . mysql_error()); 
} 

// Is '3-33' really your table name?! You should pick another name. 
$sql = "(SELECT * FROM 3-33)"; 

$resultset = mysql_query($sql, $link); 

// (!$sql)? $sql SQL is always set here. It is just the string 
if ($resultset === false) 
{ 
    exit("Error in SQL: " . mysql_error()); 
} 

echo "<table><tr>"; 
echo "<th>Date</th>"; 

while ($row = mysql_fetch_assoc($resultset)) 
{ 
    $date = $row['fieldname']; 
    echo "<td>$date</td></tr>"; 
} 

mysql_close($link); 

?>