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

HOME > PHP > PHP Forum > ระบบไม่ทำการตรวจชื่อผู้ใช้ซ้ำก่อนทำการบันทึกลงฐานข้อมูล



 

ระบบไม่ทำการตรวจชื่อผู้ใช้ซ้ำก่อนทำการบันทึกลงฐานข้อมูล

 



Topic : 117398



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



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




ผลลองเขียนแล้วแสดงผลหน้าจอออกมาคือขึ้นมาว่า

--------------------------------

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\loveis\admin\artist_add2.php on line 21
เพิ่มข้อมูลสำเร็จ
[ กลับหน้าหลักศิลปิน ]

--------------------------------------

ระบบไม่ทำการตรวจสอบชื่อว่าซ้ำหรือไม่ก่อนบันทึก แต่ระบบบันทึกลงฐานข้อมูลเลยครับ

ผมต้องแก้ไขด้วยวิธีไหนครับ


Code (PHP)
<?
$name_artist=$_POST['name_artist'];
$detail_artist=$_POST['detail_artist'];

$photo=$_FILES['photo']['tmp_name'];
$photo_name=$_FILES['photo']['name'];
$photo_size=$_FILES['photo']['size'];
$photo_type=$_FILES['photo']['type'];


if ($name_artist=="" or $detail_artist=="") {
	echo "<H2>เพิ่มไม่สำเร็จ</H2>";
	echo "[ <A HREF=artist_add.php>กลับหน้าหลักศิลปิน</A> ] ";
	exit();
}

include "connect.php";
$strSQL = "SELECT * FROM artist WHERE name_artist = '".trim($_POST['name_artist'])."' ";
	$objQuery = mysql_query($strSQL);
	$objResult = mysql_fetch_array($objQuery);
	if($objResult)
	{
			echo "ชื่อซ้ำโปรดใช้ชื่ออื่น";
	}
else

include "connect.php";
$sql="INSERT INTO artist 
VALUES(null,'$name_artist','$detail_artist','')";
mysql_db_query("$dbname",$sql);

$ext = strtolower(end(explode('.', $photo_name)));
if ($ext == "jpg" or $ext == "jpeg" or $ext=="gif" or $ext=="png") {

	$sql="select max(id_artist) from artist";
	$result=mysql_db_query($dbname,$sql);
	$r=mysql_fetch_array($result);
	$id_max=$r[0];

	$filename=$id_max.".".$ext;
	copy($photo,"photoartist/$filename");

	$sql="update artist set picture_artist='$filename' where id_artist='$id_max' ";
	mysql_db_query($dbname,$sql);

}
echo "<H3>เพิ่มข้อมูลสำเร็จ</H3>";
echo "[ <A HREF=artist.php>กลับหน้าหลัก</A> ] ";
mysql_close();
?>




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-06-27 03:19:38 By : bakerylove View : 685 Reply : 2
 

 

No. 1



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


Code
<? $name_artist=$_POST['name_artist']; // เวลานำเข้าไม่ได้ trim $detail_artist=$_POST['detail_artist']; $photo=$_FILES['photo']['tmp_name']; $photo_name=$_FILES['photo']['name']; $photo_size=$_FILES['photo']['size']; $photo_type=$_FILES['photo']['type']; if ($name_artist=="" or $detail_artist=="") { echo "<H2>เพิ่มไม่สำเร็จ</H2>"; echo "[ <A HREF=artist_add.php>กลับหน้าหลักศิลปิน</A> ] "; exit(); } include "connect.php"; $strSQL = "SELECT * FROM artist WHERE name_artist = '".trim($_POST['name_artist'])."' "; // เวลาตรวจสอบกลับ trim


บอกปัญหาให้แล้วก็ลองคิดต่อเอาเองนะครับ ว่าจะใส่โค๊ดอย่างไรดี


ปล. ลืมประเด็นที่ถามเกี่ยวกับ error

$strSQL = "SELECT * FROM artist WHERE name_artist = '".trim($_POST['name_artist'])."' ";
19.$objQuery = mysql_query($strSQL);
20.$objResult = mysql_fetch_array($objQuery);
21.if($objResult)
22.{
23.echo "ชื่อซ้ำโปรดใช้ชื่ออื่น";
24.}
25.else
26.

แก้เป็น

Code (PHP)
$strSQL = "SELECT * FROM artist WHERE name_artist = '".trim($_POST['name_artist'])."' ";
$objQuery = mysql_query($strSQL);
if(mysql_num_rows($objResult))
{
echo "ชื่อซ้ำโปรดใช้ชื่ออื่น";
}
else {
   //  ......
  // ส่วนของการ insert
}

ต้องตรวจสอบ จำนวน เรคคอร์ด ไม่ใช่้ไป fetch ข้อมูลมันออกมา มันไม่มีข้อมูลเพราะหาไม่เจอ ก็ต้อง error ตามที่แจ้ง
และไปเขียน if else แบบนั้น พอมัน แจ้งชื่อซ้ำแล้ว มันก็ยังลงมาทำต่อข้างล่าง ต้องดู flow control ของ if else ให้ดี








ประวัติการแก้ไข
2015-06-27 08:02:29
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-06-27 07:54:20 By : Chaidhanan
 


 

No. 2



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



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


ขอบคุณครับผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-06-27 14:38:55 By : bakerylove
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 01
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 อัตราราคา คลิกที่นี่