ช่วยอธิบายโค้ดเกี่ยวกับการทำระบบสมาชิกหน่อยครับ (เอา code เขามา แต่ดันแก้ไม่ถูก)
โค้ดนี้ได้จากเว็บ ไทยครีเอทครับ เป็นระบบสมาชิก พอทำแล้วมันเกิด error ตามนี้ครับ
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\Khunkrookrub\member\member_add_new.php on line 33
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\Khunkrookrub\member\member_add_new.php on line 44
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\Khunkrookrub\member\member_add_new.php on line 45
Err Database
1. mysql_num_rows มันคืออะไรครับ
2. mysql_fetch_row มันคืออะไรด้วย
-----------------------------------------------------------------------
อันนี้คือ โค้ดของไฟล์เจ้าปัญหา
<?php
session_start() ;
include("config.inc.php") ;
mysql_select_db($db) ;
// ตรวจสอบ กรณีที่เรียกหน้านี้ขึ้นมาเลยโดยที่กรอกข้อมูลไม่ครบ
if($name=="" || $age=="" || $province=="" || $user_name=="" || $pwd_name1=="" || $email=="") {
echo "<meta http-equiv='refresh' content='0; url=signup.php'>" ;
exit() ;
}
// ถ้ากรอกอีเมล์ไม่ถูกต้อง
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)$",$email)){
echo "<br><br><center><font size='3' face='MS Sans Serif'><b>กรุณากรอกอีเมล์ให้ถูกต้องด้วยครับ</b></font>" ;
echo "<br><br><input type='button' value='edit your email' onclick='history.back();'></center>" ;
exit() ;
}
if((isset($ok)) and ($ok!="ok_pass")) {
echo "<meta http-equiv='refresh' content='0; url=signup.php'>" ;
exit() ;
}
$signup = date("j/n/").(date("Y")+543) ;
$name = htmlspecialchars($name) ;
$address = htmlspecialchars($address) ;
$zipcode = htmlspecialchars($zipcode) ;
$phone = htmlspecialchars($phone) ;
// ตรวจสอบว่ามีชื่อ user นี้ใช้ไปหรือยัง
$sql = "select user from member where user='$user_name'" ;
$result = mysql_query($sql) ;
$numrow = mysql_num_rows($result) ;
if($numrow!=0) {
echo "<br><br><center><font size='3' face='MS Sans Serif'>ขอโทษด้วยครับ user $user_name นี้ ได้มีผู้ใช้ไปแล้วครับ กรุณาเปลี่ยนชื่อ Login ใหม่" ;
echo "<br><br><input type='button' value='back to edit' onclick='history.back();'></center>" ;
exit() ;
}
// ถ้ายังไม่มีผู้ใช้ชื่อ user นี้
$sql = "select * from member order by id desc" ;
$result = mysql_query($sql) ;
$num_result = mysql_num_rows($result) ;
$dbarr = mysql_fetch_row($result) ;
$member_db = $dbarr[0]+1 ; // นำค่า id มาเพิ่มให้กับค่ารหัสสมาชิกครั้งละ1
if($member_db>=100) {
$member_in = "0$member_db" ;
}
else {
if($member_db >=10) {
$member_in = "00$member_db" ;
}
else {
$member_in = "000$member_db" ;
}
}
$member_id = "$yourcode$member_in" ; // รหัสสมาชิกเช่น ip0001
$result = mysql_query("insert into member (member_id,name,date,month,year,age,sex,address,amper,province,zipcode,phone,education,work,user,password,email,signup)
values('$member_id','$name','$date','$month','$year','$age','$sex','$address','$amper','$province','$zipcode','$phone','$education','$work','$user_name','$pwd_name1','$email','$signup')") or die("Err Database");
if($result) {
$login_true = $user_name ;
session_register("login_true") ;
echo "<center><font size=\"3\" face='MS Sans Serif'><b>ขอบคุณมากครับ สำหรับการลงทะเบียนเป็นสมาชิก</b></font></center>" ;
sendmail_welcome($member_id ,$name, $user_name , $pwd_name1 , $email ,$home) ; // ส่งเมล์หาลูกค้า เรียกฟังค์ชั่นให้ทำงาน
echo "<meta http-equiv='refresh' content='4; url=member_detail.php'>" ;
}
?>
ช่วยด้วยนะครับ จะทำสื่อส่งอาจารย์ครับ ขอบคุณหลาย ๆ ครับ
Tag : - - - -
Date :
18 ก.ค. 2551 23:26:03
By :
papelocho
View :
1972
Reply :
3
mysql_num_rows ก็คือการนับจำแถวจากฐานข้อมูล
myql_fetch_row ผมก็ไม่ค่อยเข้าใจเท่าไหร่ครับแต่ก็คงไม่ต่างจากว่าการนับจำนวนแถวนะครับ
การERRORที่แสดงนี้ก็หมายความว่าไม่สามารถเลือกแถวที่จะนับได้ในฐานข้อมูลของคุณ คือเลือกฐานข้อมูลไม่ได้ครับ
ลองแช็คดูอีกที่นะครับเพื่อว่าการตั้งชื่อฐานข้อมูลผิดพลาดครับ
Date :
19 ก.ค. 2551 10:11:55
By :
sorin
mysql_num_rows ก็คือการนับจำแถวจากฐานข้อมูล
myql_fetch_row คือการดึงข้อมูลจากฐานข้อมูลมาเก็บไว้ในตัวแปรที่เป็น array ครับ
ส่วน Error ที่แสดงนั้นหมายความว่า ข้อมูลส่วนที่ต้องการหานั้นไม่มีครับ
Date :
21 ก.ค. 2551 13:50:44
By :
ผ่านมา
$sql = "select user from member where user='$user_name'" ;
ไม่ทราบได้ยังคับ ตรง user กับ user='ชื่อแท็กที่รับเข้ามา'; บรรทัดนี้หมายถึงคูณต้องการหา user ว่าตรงกะค่าที่รับเข้ามารึป่าว ครับ
Date :
2009-10-22 15:53:46
By :
oon
Load balance : Server 03