2012-05-07 11 views
0

データベースから条件を満たす特定のフィールドを選択するWebページを作成しています。データベースへの接続は行われますが、テーブルには何も表示されず、ヘッダーが表示されます。私はMySQL Query Webページの表示でmysql_numrows()エラーが発生しました

[Mon May 07 01:30:21 2012] [error] [client MyIP] PHP Notice: Use of undefined constant localhost - assumed 'localhost' in /var/www/medical.php on line 3 
[Mon May 07 01:30:21 2012] [error] [client MyIP] PHP Warning: mysql_numrows() expects parameter 1 to be resource, boolean given in /var/www/medical.php on line 7 

を参照してくださいApache2のログではここでは、コードで私が使用しています:

<?php 
include ("/var/www/medicalalerts-config.inc.php"); 
mysql_connect(localhost,$username,$password); 
@mysql_select_db($database) or die("Unable to select database"); 
$query = "SELECT * FROM `1213-rep` WHERE medicalAlert <> \'\' and medicalAlert IS NOT NULL ORDER BY lastName, grade"; 
$result=mysql_query($query); 
$num=mysql_numrows($result); 

mysql_close(); 
?> 
<!--Results Table--> 
<table border="1" align="center" cellspacing="2" cellpadding="2"> 
<tr> 
<th><font face="Arial, Helvetica, sans-serif" >Name</font></th> 
<th><font face="Arial, Helvetica, sans-serif" >Grade</font></th> 
<th><font face="Arial, Helvetica, sans-serif" >Medical Alert</font></th> 
<th><font face="Arial, Helvetica, sans-serif" >Parent 1 Name</font></th> 
<th><font face="Arial, Helvetica, sans-serif" >Parent 1 Phone</font></th> 
<th><font face="Arial, Helvetica, sans-serif" >Parent 2 Name</font></th> 
<th><font face="Arial, Helvetica, sans-serif" >Parent 2 Phone</font></th> 
</tr> 

<?php 
$i=0; 
while ($i < $num) { 

$f1=mysql_result($result,$i,"firstName"); 
$f2=mysql_result($result,$i,"lastName"); 
$f3=mysql_result($result,$i,"grade"); 
$f4=mysql_result($result,$i,"medicalAlert"); 
$f6=mysql_result($result,$i,"parent1Name"); 
$f7=mysql_result($result,$i,"parent1Phone"); 
$f8=mysql_result($result,$i,"parent2Name"); 
$f9=mysql_result($result,$i,"parent2Phone"); 

?> 

<tr> 
<td><font face="Arial, Helvetica, sans-serif" ><?php echo $f1; echo $f2;?> </font></td> 
<td><font face="Arial, Helvetica, sans-serif" ><?php echo $f3; ?></font></td> 
<td><font face="Arial, Helvetica, sans-serif" ><?php echo $f4; ?></font></td> 
<td><font face="Arial, Helvetica, sans-serif" ><?php echo $f5; ?></font></td> 
<td><font face="Arial, Helvetica, sans-serif" ><?php echo $f6; ?></font></td> 
<td><font face="Arial, Helvetica, sans-serif" ><?php echo $f7; ?></font></td> 
<td><font face="Arial, Helvetica, sans-serif" ><?php echo $f8; ?></font></td> 
</tr> 

<?php 
$i++; 
} 
?> 
</table> 

を、私はそれを修正するために何をする必要がありますか?

--update 1:51 - 私は私のコードに$error_msg = mysql_error();<?php echo $error_msg ?>を追加し、今私は私が私のクエリに変更する必要がありますどのような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 '\'\' and medicalAlert IS NOT NULL ORDER BY lastName, grade' at line 1 を取得しますか?

- 更新1:54 AM - 修正しました。 PHPMyAdminは私が必要としなかった余分なバックスラッシュを追加しました。 ありがとう!

+0

正しい関数はmysql_num_rowsです –

+0

私はそれを変更しましたが、それでもエラーはスローされます。 – Ross

答えて

2

この本

mysql_connect('localhost',$username,$password); 
$num=mysql_num_rows($result); 
+0

localhostエラーは修正されましたが、mysql_numrowsエラーは修正されませんでした。ありがとう! – Ross

+2

Rossクエリをエコーし​​てデータベースで実行し、クエリにエラーがないかどうかをチェックして、関数がmysql_num_rows()でなくmysql_numrows()であることを覚えておいてください。ありがとう –

+0

修正済み - phpMyAdminは、PHPのフリークアウトを行う追加の '\ s'を投げました。ありがとう! – Ross

0

使用してみてください:

$username = 'root'; 
$password = 'root'; 
mysql_connect('localhost',$username,$password); 

あなたが引用符でlocalhost'localhost'、すなわち閉じられていないため、エラーが発生した...

・ホープ、このことができますが。

+0

うん。すでにそれを変更しましたが、mysqlエラーを修正しませんでした。ありがとう! – Ross

0

これを使用

mysql_connect( "localhost"、$ username、$ password);

あなたはクエリに構文エラーがあります。まず、そのクエリをmysqlで実行し、コードで使用します。ありがとう