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,038

HOME > PHP > PHP Forum > T_Tทำไม่เป็นแล้วเรื่องห้ามใช้ชื่อuserซ้ำ Warning: mysql_num_rows(): supplied argument is not a valid



 

T_Tทำไม่เป็นแล้วเรื่องห้ามใช้ชื่อuserซ้ำ Warning: mysql_num_rows(): supplied argument is not a valid

 



Topic : 009030

Guest




Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\appserv\www\appserv\link\process.php on line 11

งงคร๊าบ ทำตามในกระทู้ทุกอย่าง

<?
$host="localhost";
$username="";
$password="";
$db="db_member";
$tb="tb_member";
$connect= mysql_connect($host,$username,$password);

$sql="select*from tb_member where username='$user_in'";
$result=mysql_query($sql);
$row=mysql_num_rows($result);

if($row>0){
echo"Not add.";exit();
}else{
mysql_select_db($db) or die("Not select database");
$insert_table=mysql_query("INSERT INTO $tb (username,password,mail) values('$user_in', '$pass_in', '$mail_in')") or die ("Not insert data in Table");
echo"<br>Insert data success";
}
mysql_close($connect);
?>

ใครรู้บอกผมที


Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 9 ก.ค. 2549 19:47:29 By : knight View : 2287 Reply : 11
 

 

No. 1

Guest


เหนื่อยใจจริงๆ






Date : 9 ก.ค. 2549 20:16:26 By : โจผีนะ
 


 

No. 2

Guest


ไม่ใช่แค่mysql_num_rowsนะครับคำสั่งอื่นก็ขึ้นเหมือนกัน
Date : 9 ก.ค. 2549 20:38:03 By : knight
 

 

No. 3

Guest


ก็แค่ตั้ง ID เป็น primary key พอหลังจากนั้นมีคนมาหมักมาชิกในเว็บเครื่องก็จะไม่ให้ ใช้แทรกคำสั่งนี้ในส่วนของการ insert ข้อมูล ยกโตอย่างเช่น

$sql = insert into member .........................;
$result = mysql_query(........) or die ("มีคนใช้ user นี้แล้วครับ");



ว่างๆ แวะไปชมเว็บผมน๊า BR Club
http://www.kobsoft.com
Date : 9 ก.ค. 2549 22:32:32 By : -
 


 

No. 4

Guest


ในกรณีที่มันขึ้นแบบนี้ แสดงว่า การ query ข้อมูลไม่สำเร็จครับลองนำ คำสั่ง sql ไป query ใน phpmyadmin ดูมันจะบอกว่ามีอะไรผิดพลาดนะครับ

select*from tb_member where username='$user_in' <<<< คำสั่งนี้แหละ

นิดนึงครับ คำสั่งข้างบนใช้ไม่ได้ เพราะมี $user_in อยู่ ให้ทำการ print คำสั่ง sql ออกมาก่อนแล้วค่อยนำไป query ใน phpmyadmin

อาจจะได้ select*from tb_member where username='somchai' แล้วเอาอันนี้ไป query ตามที่บอกดูละกันครับ
Date : 9 ก.ค. 2549 22:48:51 By : Ngokung
 


 

No. 5

Guest


T_Tไม่เข้าใจง่ะ กะลังหัดเขียนวันแรกงับ เขียนมาให้แค่นี้ งงจ้า
Date : 9 ก.ค. 2549 22:54:22 By : knight
 


 

No. 6

Guest


.......

<?
$host="localhost";
$username="";
$password="";
$db="db_member";
$tb="tb_member";
$connect= mysql_connect($host,$username,$password);

$sql="select*from tb_member where username='$user_in'";
print($sql); //<<<<<<<<<<<<<<<<<<<<<<<<<<< print อันนี้ออกมา แล้วลองเอามาบอกนะว่าได้อะไร
$result=mysql_query($sql);
if($result){ //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ลองเพิ่มนี่ด้วยละกัน
$row=mysql_num_rows($result);
} // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< มี ปีกกาเปิด อย่าลืมปิดด้วยนะ

if($row>0){
echo"Not add.";exit();
}else{
mysql_select_db($db) or die("Not select database");
$insert_table=mysql_query("INSERT INTO $tb (username,password,mail) values('$user_in', '$pass_in', '$mail_in')") or die ("Not insert data in Table");
echo"<br>Insert data success";
}
mysql_close($connect);
?>



ปล. แล้วดูด้วยนะว่า ชื่อตาราง ของเรามีชื่อ tb_member หรือเปล่า

ปล. (อีกที) อย่างที่บอก มัน query แล้ว เกิดข้อผิดพลาดขึ้น หรือไม่ก็ไม่มีข้อมูลน่ะ ได้ไม่ได้ยังไง ก็ลองมาบอกนะ
Date : 10 ก.ค. 2549 00:20:33 By : Ngokung
 


 

No. 7

Guest


<?
$host="localhost";
$username="";
$password="";
$db="db_member";
$tb="tb_member";
$connect= mysql_connect($host,$username,$password);

$sql="select*from $tb where username='$user_in'";
$db_query=mysql_db_query($db,$sql);//อันนี้
$num_rows=mysql_num_rows($db_query); //อันนี้

if($num_rows != 0) /* ตรวจสอบว่า Id นี้มีอยู่หรือยัง */
{
echo"<center><br>not found</center>";
exit();
}
else
{

mysql_select_db($db) or die("Not select database");
mysql_query("INSERT INTO $tb (username,password,mail) values('$user_in', '$pass_in', '$mail_in')") or die ("Not insert data in Table");
echo"<br>Insert data success";
}
mysql_close($connect);
?>


ได้ละครับ ลองเอาในบทเรียนกับในบอร์ดมาโปะๆกันมั่วๆ -*-
ขอบคุณทุกท่านมากเลย
Date : 10 ก.ค. 2549 00:58:11 By : knight
 


 

No. 8

Guest


หนีไปดูบอลมา อิอิ
Date : 10 ก.ค. 2549 04:10:50 By : โจผีนะ
 


 

No. 9

Guest


ความจริง ตามความคิดเห็นที่ 3 ดีกว่านะ
$sql = insert into member .........................;
$result = mysql_query(........) or die ("มีคนใช้ user นี้แล้วครับ");
แบบนี้อ่ะ เพราะว่า เช็คโดยใช้ mysql เลย ใช้เพียงคำสั่งเดียวเองไม่เปลืองด้วย ทำงานเร็วกว่า ปลอดภัยกว่า
เพราะความจริงการ เช็คก่อนว่า มี รหัสซ๊ำหรือเปล่า แล้วค่อยบันทึกลงไปนั้น อาจจะมีข้อผิดพลาดได้ ในกรณี ที่เกิดการที่มี query เข้ามาพร้อมกัน ซึ่ง หาก ต้องการ ใช้ echo"<center><br>not found</center>"; exit(); ตอนท้าย ก็สามารถทำได้ใน result = mysql_query(........) or die ("มีคนใช้ user นี้แล้วครับ"); โดยเปลี่ยนจากคำพูด ว่า มีคนใช้ user แล้วเป็น ฟังชั่นแทน แล้วเรียกอีกที เช่น
$chk=0;
$x=mysql_query(....) or ($chk=mysql_error_Duplicate());
if($chk==0){
echo "<center>success</center>";
}else{
echo"<center><br>not found</center>"; exit();
}
function mysql_error_Duplicate(){
$error_message=mysql_error();
//// ซึ่งคุณสามารถ เช็คจากค่า mysql error ได้ แล้วคุณสามารถเพิ่มค่า error ที่จะ return กลับไปได้ครับ
if(substr($error_message,0,9)=="Duplicate"){
return 1;
}else{
echo $error_message;
return 0;
}
}
วิธีดังกล่าวนี้จะช่วยให้ โปรแกรมกระชับ รันได้เร็วขึ้นกว่าเดิม
แนะนำเว๊ปด้วย นะ อิอิ http://www.pataramit.com/

Date : 10 ก.ค. 2549 04:30:27 By : โจผีนะ
 


 

No. 10

Guest


ขอเต็มๆแบบไม่ต้องใส่ ... ได้มะครับศึกษาได้2วันดูครึ่งๆกลางๆแล้วงงครับท่านทั้งหลาย
Date : 10 ก.ค. 2549 06:49:52 By : knight
 


 

No. 11

Guest


หลักการตรวจสอบชื่อซ้ำก็คือ เมื่อเราใส่ชื่อมาแล้วให้ไปตรวจสอบกับฐานข้อมูลว่ามีชื่อนี้อยู่แล้วหรือไม่ ถ้ามีก็แสดงว่าชื่อนี้ถูกใช้ไปแล้ว แค่นั้นเองครับ

คุณเคยอ่านข้อมูลออกจากฐานข้อมูลได้ยังไงก็ใช้วิธีนั้นแหละครับ ถ้าอ่านแล้วมีข้อมูลแสดงว่าชื่อนั้นซ้ำแล้วครับ

ผมไม่เก่ง MySQL เลยเขียนโค้ดให้ดูไม่ได้ แต่หลักการตรวจสอบมันก็มีอยู่แค่นี้เอง
Date : 13 ก.ค. 2549 20:25:57 By : goragod
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : T_Tทำไม่เป็นแล้วเรื่องห้ามใช้ชื่อuserซ้ำ Warning: mysql_num_rows(): supplied argument is not a valid
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่