ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingมีปัญหาเรื่องการดึงข้อมูลจาก SQL ด้วย PHP
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: มีปัญหาเรื่องการดึงข้อมูลจาก SQL ด้วย PHP  (อ่าน 2159 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Tricker
ก๊วนเสียว
*

พลังน้ำใจ: 29
ออฟไลน์ ออฟไลน์

กระทู้: 400



ดูรายละเอียด
« เมื่อ: 15 พฤศจิกายน 2012, 22:23:02 »

ผมพึ่งศึกษา PHP+SQL เลยไม่รู้ว่าผิดตรงไหน รบกวนดูให้หน่อยครับ
ผมดูโค๊ดจากตัวอย่างในเว็บแล้วเอามาเขียนแต่มันไม่ยอมดึงข้อมูล

โค๊ด
โค๊ด:
<html>
<head>
<title>Test PHP&Database</title>
</head>
<body>
<?
$objConnect = mysql_connect ("localhost","root","1234") or die ("Error Connect to Database");
$objDB = mysql_select_db("hris");
$strSQL = "SELECT * FROM employee";
$objQuery = mysql_query($strSQL) or die ("Error Query[".$strSQL"]");
$Num_Rows = mysql_num_rows($objQuery);
$objQuery  = mysql_query($strSQL);
?>
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">Emp_ID</div></th>
<th width="98"> <div align="center">Emp_Name</div></th>
<th width="198"> <div align="center">Emp_lname</div></th>
<th width="97"> <div align="center">Job</div></th>
<th width="59"> <div align="center">chg_hours</div></th>
</tr>

<?
while($objResult = mysql_fetch_array($objQuery))
{
?>

<table width="600" border="1">
<tr>
<td><th width="91"><div align="center"><?=$objResult["emp_id"];?></div></td>
<td><th width="98"><?=$objResult["emp_name"];?></td>
<td><th width="198"><?=$objResult["emp_lname"];?></td>
<td><th width="97"><div align="center"><?=$objResult["job"];?></div></td>
<td align="right"><th width="59"><?=$objResult["chg_hour"];?></td>
</tr>
<?
}
mysql_close($objConnect);
?>
</table>
</body>
</html>

ฐานข้อมูล



ผลที่ได้

บันทึกการเข้า
gubaaball
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 184
ออฟไลน์ ออฟไลน์

กระทู้: 1,678



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 15 พฤศจิกายน 2012, 22:34:44 »

$objQuery = mysql_query($strSQL) or die ("Error Query[".$strSQL"]");
$Num_Rows = mysql_num_rows($objQuery);
$objQuery  = mysql_query($strSQL);

ตัดบรรทัดสีแดงออกครับ มันซ้ำลองดูว่าได้ไหม
บันทึกการเข้า

pkake2000
ก๊วนเสียว
*

พลังน้ำใจ: 103
ออฟไลน์ ออฟไลน์

กระทู้: 495



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 15 พฤศจิกายน 2012, 22:36:43 »

$objQuery = mysql_query($strSQL) or die ("Error Query[".$strSQL."]");
บันทึกการเข้า

.
chor_th
สมุนแก๊งเสียว
*

พลังน้ำใจ: 56
ออฟไลน์ ออฟไลน์

กระทู้: 554



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 15 พฤศจิกายน 2012, 22:37:16 »

เกิดจากไฟล์เป็น .html และไม่ได้ run บน localhost ป่าวคับ wanwan044

ถ้า run บน localhost แล้ว น่าจะตายบรรทัดนี้ด้วย
$objConnect = mysql_connect ("localhost","root","1234") or die ("Error Connect to Database");
เพราะ username และ password น่าจะผิดคับ

และโค้ด <?=$objResult["emp_id"];?> ปกติผมจะใช้เป็น <? echo $objResult["emp_id"]; ?> อ่ะคับ

ผิดพลาดประการใดขออภัยด้วยคับ
บันทึกการเข้า

gubaaball
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 184
ออฟไลน์ ออฟไลน์

กระทู้: 1,678



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 15 พฤศจิกายน 2012, 22:38:54 »

เกิดจากไฟล์เป็น .html และไม่ได้ run บน localhost ป่าวคับ wanwan044

ถ้า run บน localhost แล้ว น่าจะตายบรรทัดนี้ด้วย
$objConnect = mysql_connect ("localhost","root","1234") or die ("Error Connect to Database");
เพราะ username และ password น่าจะผิดคับ

และโค้ด <?=$objResult["emp_id"];?> ปกติผมจะใช้เป็น <? echo $objResult["emp_id"]; ?> อ่ะคับ

ผิดพลาดประการใดขออภัยด้วยคับ

ดุอีกทีน่าจะเป็นตามท่านนี้น่ะครับ ต้องเป็นไฟล์ .php ครับ ยกเว้นท่านใช้ htaccess
บันทึกการเข้า

Tricker
ก๊วนเสียว
*

พลังน้ำใจ: 29
ออฟไลน์ ออฟไลน์

กระทู้: 400



ดูรายละเอียด
« ตอบ #5 เมื่อ: 15 พฤศจิกายน 2012, 22:45:47 »

ลอง save เป็น .php แล้วรันบน localhost แล้ว ขึ้นแบบนี้ครับ

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\AppServ\www\index.php on line 10
บันทึกการเข้า
pkake2000
ก๊วนเสียว
*

พลังน้ำใจ: 103
ออฟไลน์ ออฟไลน์

กระทู้: 495



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 15 พฤศจิกายน 2012, 22:47:48 »

ลอง save เป็น .php แล้วรันบน localhost แล้ว ขึ้นแบบนี้ครับ

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\AppServ\www\index.php on line 10

$objQuery = mysql_query($strSQL) or die ("Error Query[".$strSQL."]");
ตกดอทไปตัว
 ("Error Query[".$strSQL"]");  >>>   ("Error Query[".$strSQL."]");
บันทึกการเข้า

.
Queue
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 106
ออฟไลน์ ออฟไลน์

กระทู้: 4,295



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 15 พฤศจิกายน 2012, 22:48:06 »

ลอง save เป็น .php แล้วรันบน localhost แล้ว ขึ้นแบบนี้ครับ

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\AppServ\www\index.php on line 10

$objQuery = mysql_query($strSQL) or die ("Error Query[".$strSQL."]");
ตกดอทไปตัว
 ("Error Query[".$strSQL"]");  >>>   ("Error Query[".$strSQL."]");

ตามนัั้น
บันทึกการเข้า

Tricker
ก๊วนเสียว
*

พลังน้ำใจ: 29
ออฟไลน์ ออฟไลน์

กระทู้: 400



ดูรายละเอียด
« ตอบ #8 เมื่อ: 15 พฤศจิกายน 2012, 23:00:03 »

รันได้แล้วครับ ขอบคุณทุกท่านมากนะครับ แต่ติดปัญหาอีกอย่างคือตารางมันไม่ตรงกัน


ปล.ผมเอาโค๊ดของคนอื่นมาแล้วตัดส่วนที่ไม่ใช้ออก ตรงตารางลองตัดดูแล้วตารางเละเลยครับ
บันทึกการเข้า
gubaaball
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 184
ออฟไลน์ ออฟไลน์

กระทู้: 1,678



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 15 พฤศจิกายน 2012, 23:12:14 »

โค๊ด:
<html>
<head>
<title>Test PHP&Database</title>
</head>
<body>
<?
$objConnect = mysql_connect ("localhost","root","1234") or die ("Error Connect to Database");
$objDB = mysql_select_db("hris");
$strSQL = "SELECT * FROM employee";
$objQuery = mysql_query($strSQL) or die ("Error Query[".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);
$objQuery  = mysql_query($strSQL);
?>
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">Emp_ID</div></th>
<th width="98"> <div align="center">Emp_Name</div></th>
<th width="198"> <div align="center">Emp_lname</div></th>
<th width="97"> <div align="center">Job</div></th>
<th width="59"> <div align="center">chg_hours</div></th>
</tr>

<?
while($objResult = mysql_fetch_array($objQuery))
{
?>


<tr>
<td width="91"><div align="center"><?=$objResult["emp_id"];?></div></td>
<td width="98"><?=$objResult["emp_name"];?></td>
<td width="198"><?=$objResult["emp_lname"];?></td>
<td width="97"><div align="center"><?=$objResult["job"];?></div></td>
<td align="right"><?=$objResult["chg_hour"];?></td>
</tr>
<?
}
mysql_close($objConnect);
?>
</table>
</body>
</html>

น่าจะอย่างนี้ครับ
บันทึกการเข้า

Tricker
ก๊วนเสียว
*

พลังน้ำใจ: 29
ออฟไลน์ ออฟไลน์

กระทู้: 400



ดูรายละเอียด
« ตอบ #10 เมื่อ: 15 พฤศจิกายน 2012, 23:23:06 »

ได้แล้วครับ ขอบคุณทุกท่านที่ให้ความช่วยเหลือนะครับ  wanwan017
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์