Sun 1 Oct 2006 22:46:48
ผมได้เขียนโปรแกรมดังนี้ครับ
<?
$link=mysql_connect("localhost","root","");
if(!$link)
{
print("Error");
}
else
{
mysql_select_db("company",$link);
$sql = "SELECT company, country, email1 FROM WHERE agri=1 order by company asc";
$res=mysql_query($sql,$link);
print("<table border=1>");
print("<tr><td>Company</td><td>Country</td><td>Email</td></tr>");
while($row=mysql_fetch_row($res))
{
print("<tr>");
print("<td>$row[0]</td><td>$row[3]</td><td>$row[6]</td></tr>");
}
print("<table>");
}
?>
ปรากฎว่าเกิด Error ดังนี้ครับ
resource in c:\appserv\www\main\index_agri.php on line 14
| Company | Country |
ขอคำแนะนำด้วยครับ
อนันต์
การใชังาน SELECT...FROM คุณต้องระบุชื่อ table ที่ต้องการด้วยครับ เช่น
$sql = "SELECT company, country, email1 FROM table_name WHERE agri=1 order by company asc";
Mon 2 Oct 2006 07:20:37
ขอบคุณครับ
คงต้องขอคำแนะนำเพิ่มเติมดังนี้ครับ
<?
$link=mysql_connect("localhost","root","");
if(!$link)
{
print("Error");
}
else
{
mysql_select_db("company",$link);
$sql = "SELECT company, country, email1 FROM company WHERE agri=1 order by company asc";
$res=mysql_query($sql,$link);
print("<table border=1>");
print("<tr><td>Company</td><td>Country</td><td>Email</td></tr>");
while($row=mysql_fetch_row($res))
{
print("<tr>");
print("<td>$row[0]</td><td>$row[3]</td><td>$row[6]</td></tr>");
}
print("<table>");
}
?>
ปรากฎว่าผลที่ได้เป็นดังนี้ครับ
| Company | Country | |
| 888 Natural Pty Ltd | ||
| A & A Hashim | ||
| "Al Rabih" Sonaco S.A.R.L. | ||
| AAFEX Association | ||
| ABCD | ||
| ABICAB Assoc. Brasileira da In | ||
| Abido Company for Trade and In | ||
| Four Seasons Trading Co. |
จะไม่แสดงผลของ country และ email1 ออกมาด้วย ทั้งๆที่ในฐานข้อมูลมีข้อมูลนี้อยู่
ช่วยแนะนำด้วยครับ
อนันต์
{
print("<tr>");
print("<td>".$row["company"]."</td><td>".$row["country"]."</td><td>".$row["email1"]."</td></tr>");
}
ผมแนะนำว่าให้ใช้ mysql_fetch_array() ดีกว่าครับเราสามารถอ้างชื่อ field ได้ในรูปแบบ associative array ได้ครับ
ส่วนถ้าต้องการใช้ mysql_fetch_row() นั้นต้องระบุ index ของ array ตามลำดับ field ที่ทำการ select ออกมาครับ ซึ่งคำสั่งของคุณคือ SELECT company, country, email1 FROM...
ค่าของ company จะอยู่ที่ $row[0]
ค่าของ country จะอยู่ที่ $row[1]
ค่าของ email จะอยู่ที่ $row[2]
แต่ในโค๊ดของคุณระบุ index ที่ 3 และ 6 ซึ่งไม่มีอยู่ใน array จึงแสดงเป็นค่าว่างแทนครับ

















