Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > รบกวนพี่ๆ ช่วยดูโค้ดนี้ให้หน่อยครับ ว่ามีข้อผิดพลาดตรงส่วนไหนครับ



 

รบกวนพี่ๆ ช่วยดูโค้ดนี้ให้หน่อยครับ ว่ามีข้อผิดพลาดตรงส่วนไหนครับ

 



Topic : 034704



โพสกระทู้ ( 604 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์




หาเท่าไหร่ ก็หาไม่เจอครับ

คือมันจะ error ตรงบรรทัด mysql_num_rows น่ะครับ

Code (PHP)
$new=explode("PO-",$order_id);
$new1=$new[0];
$new2=$new[1];
$des="SELECT * FROM order WHERE o_id='$new2' ";
$qdes=mysql_db_query($dbname,$des);
if(mysql_num_rows($qdes)<=0){
echo"action";
}


สิ่งที่ error นะครับ

Code
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\shop\delivery_status.php on line 46


ข้อมูลของตารางมีดังนี้ครับ

Code
-- โครงสร้างตาราง `order`
--

CREATE TABLE `order` (
`o_id` int(11) NOT NULL auto_increment,
`o_date` date NOT NULL,
`o_time` time NOT NULL,
`o_m_id` int(11) NOT NULL,
`o_name` varchar(100) collate utf8_unicode_ci NOT NULL,
`o_address` longtext collate utf8_unicode_ci NOT NULL,
`o_tel` varchar(15) collate utf8_unicode_ci NOT NULL,
`o_email` varchar(100) collate utf8_unicode_ci NOT NULL,
`o_total_price` float NOT NULL,
`o_discount` float NOT NULL,
`o_delivery_fee` float NOT NULL,
`o_net_price` float NOT NULL,
`o_pay_by` int(11) NOT NULL,
`o_sent_status` int(11) NOT NULL,
`o_post_id` varchar(25) collate utf8_unicode_ci NOT NULL,
`o_post_status` int(11) NOT NULL,
`o_sent_date` date NOT NULL,
PRIMARY KEY (`o_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;



รบกวนด้วยนะครับ ขอบคุณครับ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-11-22 11:05:07 By : yomaster View : 960 Reply : 14
 

 

No. 1



โพสกระทู้ ( 1,242 )
บทความ ( 13 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

$new=explode("PO-",$order_id);
$new1=$new[0];
$new2=$new[1];
$des="SELECT * FROM order WHERE o_id='$new2' ";
$qdes=mysql_db_query($dbname,$des);
if(@mysql_num_rows($qdes)<=0) {
echo"action";
}

แก้โดย ใส่ @ แต่ผมคิดว่า เช็คจาก ตัว $qdes ดีกว่าครับ

if($qdes) {
echo "action";
}


เพราะว่า ถ้า $qdes เป็นค่าว่าง ยังไง num_rows ก็ต้องเท่ากับ 0
ซึ่งไม่จำเป็นที่ต้องไป เปรียบเทียบกับ num_rows

ลองเอาโค้ดนี้ไปเล่นดูครับ
$des="SELECT * FROM order WHERE o_id='$new2' ";
	$result = mysql_query($des);
	if(@mysql_num_rows($result) <=0) {
		echo @mysql_num_rows($result);	
	}
	else {
                 echo @mysql_num_rows($result);	
         }

อธิบายไม่ค่อยถูกแล้ว ไม่รู้ว่าจะเข้าใจหรือเปล่า หุ หุ






Date : 2009-11-22 11:39:00 By : DownsTream
 


 

No. 2



โพสกระทู้ ( 604 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ขอบคุณพี่ DownsTream มากครับ

ลองเปลี่ยนโดยใส่ @ เพิ่มเข้าไป

มันไม่ error แล้วครับ แต่มัน กลับบอกว่า ไม่พบ PO ซะงั้นครับ

ตามรูปด้านล่างอ่ะครับ

delivery_result

ปล. โค้ดที่ 2 ต้องเพิ่ม

mysql_select_db เข้าไปด้วยใช่ไหมครับ ?
Date : 2009-11-22 11:50:00 By : yomaster
 

 

No. 3



โพสกระทู้ ( 1,242 )
บทความ ( 13 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ใช่ครับ ปกติผมจะเขียน เป็น ไฟล์ config แล้ว require เอาเวลาต้องการ connect
แล้วใช้ mysql_query ในการร้องขอข้อมูล
Date : 2009-11-22 12:04:26 By : DownsTream
 


 

No. 4



โพสกระทู้ ( 604 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ได้ทดลองนำโค้ดที่ 2 ไปทำดูครับ
ก็ไม่ได้เหมือนกันครับ แจ้งเหมือนรูป ที่ คห.ที่ 2 ครับ

งงจังครับ

ในฐานข้อมูลมีข้อมูล ID 1 อยู่นะครับ

ลองเอาเฉพาะโค้ด ไป รันใน sql ของ phpMyAdmin ก็ได้ปกติครับ

แต่ทำไมในนี้ไม่ได้ก็ไม่รู้ครับ
Date : 2009-11-22 12:10:23 By : yomaster
 


 

No. 5



โพสกระทู้ ( 1,242 )
บทความ ( 13 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

แล้วเงื่อนไข มันเป็นอย่างไร ผมคิดว่าส่วนตรงนี้ น่าจะเป็นที่เงื่อนไขในการแสดงผลนะครับ
Date : 2009-11-22 12:33:05 By : DownsTream
 


 

No. 6



โพสกระทู้ ( 604 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ใช่ครับ

เงื่อนไขจริงๆ คือ แสดงผลออกมาถ้า พบข้อมูล

1.ถ้าไม่พบข้อมูล
Code (PHP)
<?php
if(@mysql_num_rows($result)<=0){
?>

Code
<tr>
<td height="22" colspan="2" align="center"><font color="#FF0000">ไม่พบรหัสสั่งซื้อที่ท่านต้องการตรวจสอบ <?=$new2;?></font></td>
</tr>


และ 2. ถ้าพบข้อมูล
Code (PHP)
<?php
		 }else{
		 	$fdes=mysql_fetch_array($qdes);
				$o_id=$fdes[o_id];
				$o_name=$fdes[o_name];
				$o_net_price=$fdes[o_net_price];
				$o_pay_by=$fdes[o_pay_by];
				$o_sent_status=$fdes[o_sent_status];
					if($o_sent_status=="0"){
						$s_status="<font color='red'>ยังไม่ได้จัดส่ง</font>";
					}elseif($o_sent_status=="1"){
						$s_status="<font color='blue'>จัดส่งสินค้าเรียบร้อย</font>";
					}
				$o_post_id=$fdes[o_post_id];
				$o_post_status=$fdes[o_post_status];
					if($o_post_status=="1"){
						$p_status="บันทึกข้อมูล";
					}elseif($p_status=="2"){
						$p_status="เตรียมนำจ่าย";
					}elseif($p_status=="3"){
						$p_status="นำจ่ายเรียบร้อย";
					}
				$o_sent_date=$fdes[o_sent_date];
?>


ประมาณนี้ น่ะครับผม
Date : 2009-11-22 12:54:23 By : yomaster
 


 

No. 7



โพสกระทู้ ( 604 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ตอนนี้ ยังไม่ได้เลยครับ T_T

รบกวนพี่ๆ อีกครั้งนะครับ

ขอบคุณครับ
Date : 2009-11-23 10:56:39 By : yomaster
 


 

No. 8



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

จาก warning คาดได้ว่า sql ผิดพลาด เป็นผมจะใช้วิธีนี้ครับ

Code (PHP)
$new=explode("PO-",$order_id);
$new1=$new[0];
$new2=$new[1];
$des="SELECT * FROM order WHERE o_id='$new2' ";
$qdes=mysql_db_query($dbname,$des);
if(mysql_num_rows($qdes)<=0){
echo"action";
}


จากโค้ดแรกของคุณ

บรรทัดนึ้เพิ่มอีกนิด เป็น
$qdes=mysql_db_query($dbname,$des) or exit($des);

แล้วเอา query ทางเอาท์พุตไปยิงที่ php myadmin

แล้วเอา error ที่แสดงทางด้านล่าง มาโพสคับ

จริงๆแล้วคิดว่า ฟีล order ตรงกับ keyword ใน mysql ครับ ผมไม่รู้ว่าแก้อย่างไร แต่ปรกติใช้วิธีหลีกเลี่ยง keyword เอาคับ
Date : 2009-11-23 11:07:58 By : pjgunner
 


 

No. 9



โพสกระทู้ ( 1,528 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


Code
WHERE o_id like '%$new2%' ";

Date : 2009-11-23 11:13:51 By : Sek-Artdrinker
 


 

No. 10



โพสกระทู้ ( 604 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


สวัสดีครับ

ผมใช้ โค้ดตามคุณเอี่ยวนะครับ

output ออกมาแบบนี้นะครับ

Code
SELECT * FROM order WHERE o_id='0001'


ส่วน Error ไม่มี แสดงอะไรเลยครับ

ปกติ จะแสดงว่า ไม่พบ.....

แต่นี่ แสดงแค่ข้อความด้านบน เท่านั้นครับ ไม่มีอะไรแสดงออกมาอีกเลย

และถ้าใช้โค้ดเหมือนคุณ Sek-Artdrinker

โดยใส่ % เพิ่มเข้าไป

มันแสดงข้อความว่า ไม่พบ......

ครับผม
Date : 2009-11-23 21:11:15 By : yomaster
 


 

No. 11



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

ก็ลองเปลี่ยน ชื่อตาราง order ยังคับ ลองเป็น orderx ดู คิดว่าน่าจะผ่านละ เพราะอาจติดที่เป็น keyword คับ
Date : 2009-11-23 21:31:53 By : pjgunner
 


 

No. 12



โพสกระทู้ ( 604 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


อ้อ ผมลืมไปครับ

ขอบคุณมากครับ ตอนนี้ ได้แล้วครับ - -"

ขอบคุณมากๆ ครับ

ขอบคุณทุกๆ ท่านครับ

แต่ว่า...... T_T


มันมีปัญหา เพิ่มมาอีกอย่างเฉยเลยครับ

Code (PHP)
<?php
ob_start();
session_start();
require_once("sessionAdmin.php");
require_once("config.php");
require_once("function.php");
require_once("datetime.php");
$admin="SELECT a_name,a_username FROM admins WHERE a_username='$admin' ";
$qadmin=mysql_db_query($dbname,$admin);
$fadmin=mysql_fetch_array($qadmin);
	$a_name=$fadmin[a_name];
	$a_username=$fadmin[a_username];
?>


โค้ด ด้านบน ดูเหมือนจะไม่มีอะไรที่น่าจะผิดได้ (ปกติใช้แบบนี้นะครับ)
หรือผม WHERE ถึง session ผิดครับ?

คือผม ลงทะเบียน session ชื่อ admin ไว้น่ะครับผม

แต่ทีนี้ ตอน login เข้าไปตอนแรก ไป ดึงข้อมูลมาได้

แต่พอสั่ง refresh เท่านั้นแหล่ะครับ

แจ้ง error fetch_array ขึ้นมาเลยครับ

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\shop\admin_menu.php on line 10


รบกวนอีกครั้งนะครับ

/ \ / \
Date : 2009-11-23 21:54:15 By : yomaster
 


 

No. 13



โพสกระทู้ ( 604 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


อ้อ

ผมพอจะเข้าใจแล้วล่ะครับ

เดี๋ยวลองแก้ดูก่อนครับ
Date : 2009-11-23 21:56:32 By : yomaster
 


 

No. 14



โพสกระทู้ ( 604 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


พอดี เหลือบไปเห็นผมตั้งตัวแปรซ้ำกันนี่เองครับ

สะเพร่า จริงๆ ครับ

ขอบคุณอีกครั้ง นะครับ

ขอบคุณทุกๆ ท่านครับ
Date : 2009-11-23 21:59:06 By : yomaster
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนพี่ๆ ช่วยดูโค้ดนี้ให้หน่อยครับ ว่ามีข้อผิดพลาดตรงส่วนไหนครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่