2011-01-23 19 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

+1

'while(mysql_fetch_row(mysql_query))' ---これは何ですか?!?! – zerkms

+0

彼女はすでに以前に質問されていましたが、私はエラーを指摘しましたが、彼女はデータベースからデータベースを通してデータをフェッチする方法を完全には知りませんでした。私は彼女の質問を編集してエラーを最小限に抑えました –

答えて

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

そのクエリが無効である理由を説明し、 'SELECT * FROM' 3-33''のような実用的な解決法を提供することができます。 – nico

+0

残念ながら、元の投稿から彼が達成しようとしていたものを理解することは難しいです。最初は私は彼がちょうど何かを返すクエリを望んでいたと思って、SELECT * FROM 3-33はSELECT 3-33と同じだと考えました。今言及したように、彼は '3-33'という名前のテーブルを持つことができるだろうと思っています...しかし、なぜそれがどうなるのか本当にわかりません。質問自体にコメントを残して、彼が質問で何をしようとしているのかを明確にすることを提案します。 – Arkaaito

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); 

?> 
+0

"ほとんどすべてがオブジェクトを返す" ---このコードでは、オブジェクトはまったくありません。 – zerkms

+0

ええ、そうです。そこに間違った言葉を選びました。テキストを修正しましたが、ポイントは同じです。 – GolezTrol