|
|
|
ขอความช่วยเหลือค่ะ PHP+Mssql เช็คข้อมูลซ้ำก่อนที่จะ insert |
|
|
|
|
|
|
|
เอาไป select ก่อน insert ซิครับ
|
|
|
|
|
Date :
2014-07-26 14:09:05 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่รุ้จะเริ่มตรงไหนยังไง พึ่งจะศึกษาคะ
|
ประวัติการแก้ไข 2014-07-26 14:31:45
|
|
|
|
Date :
2014-07-26 14:30:53 |
By :
nuinfo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$objConnect = mssql_connect("localhost","sa","123456") or die("Error Connect to Database");
$objDB = mssql_select_db("mydatabase");
$CHECK = "SELECT count(*) from member where old = '$account_id' ";
$RESULT = mssql_query($CHECK);
if($RESULT != 0){
$strSQL = "INSERT INTO member ";
$strSQL .="(old,new,ip,dt) ";
$strSQL .="VALUES ";
$strSQL .="('".$account_id."','".$_POST["txtnew"]."','$_SERVER[REMOTE_ADDR]','$now') ";
$objQuery = mssql_query($strSQL);
}else{
echo "ข้อมุลซ้ำ";
die();
}
$now = date("Y-m-d H:i:s");
if($objQuery)
ก็ตัวอย่างคร่าวๆประมาณนี้
|
|
|
|
|
Date :
2014-07-26 14:45:04 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใส่แบบนี้ถูกมั้ยคะ ลองทดสอบดูแล้ว ข้อมูลซ้ำแต่ยัง insert อยู่คะ
ไม่มี error เลย
Code (PHP)
<?
$objConnect = mssql_connect("localhost","sa","123456") or die("Error Connect to Database");
$objDB = mssql_select_db("mydatabase");
$CHECK = "SELECT count(*) from member where old= '$account_id' ";
$RESULT = mssql_query($CHECK);
if($RESULT != 0){
$strSQL = "INSERT INTO member";
$strSQL .="(old,new,ip,dt) ";
$strSQL .="VALUES ";
$now = date("Y-m-d H:i:s");
$strSQL .="('".$account_id."','".$_POST["txtnew"]."','$_SERVER[REMOTE_ADDR]','$now') ";
$objQuery = mssql_query($strSQL);
}else{
echo "ข้อมุลซ้ำ";
die();
}
$now = date("Y-m-d H:i:s");
if($objQuery)
?>
|
ประวัติการแก้ไข 2014-07-26 15:25:41
|
|
|
|
Date :
2014-07-26 15:24:43 |
By :
nuinfo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เบลอ
if($RESULT == 0){
ครับ ^^"
|
|
|
|
|
Date :
2014-07-26 15:35:49 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วค่ะ ขอบคุณพี่มากๆเลยค่ะ
หนูดูโค๊ดก็สงสัยตรงนั้นพอดีเลย แต่ว่าไม่ค่อยมีความรู้ ไม่รู้จะแก้ยังไง
|
|
|
|
|
Date :
2014-07-26 15:40:27 |
By :
nuinfo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่เหลือก็ลองปรับเอานะครับ จริงๆ เขียน แบบนี้ไมน่าจะดีเท่าไร มันทำงาน 2 ครั้ง
แต่ผมก็ทำแบบนี้แหละ 5555
|
|
|
|
|
Date :
2014-07-26 15:42:03 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่คะ รบกวนอีกรอบคะ กรอกอะไรลงไปก็ขึ้นข้อมูลซ้ำหมดเลยคะ ทั้งๆที่ในตารางไม่มีข้อมูลเลย
Code (PHP)
<?
$objConnect = mssql_connect("localhost","sa","123456") or die("Error Connect to Database");
$objDB = mssql_select_db("mydatabase");
$CHECK = "SELECT count(*) from member where old= '$account_id' ";
$RESULT = mssql_query($CHECK);
if($RESULT == 0){
$strSQL = "INSERT INTO member";
$strSQL .="(old,new,ip,dt) ";
$strSQL .="VALUES ";
$now = date("Y-m-d H:i:s");
$strSQL .="('".$account_id."','".$_POST["txtnew"]."','$_SERVER[REMOTE_ADDR]','$now') ";
$objQuery = mssql_query($strSQL);
}else{
echo "ข้อมูลซ้ำ";
die();
}
$now = date("Y-m-d H:i:s");
if($objQuery)
?>
|
|
|
|
|
Date :
2014-07-26 16:08:42 |
By :
nuinfo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ฟอร์มที่กรอก เป็นยังไงอะครับ แล้วเอาอะไรไปเช็ค
|
|
|
|
|
Date :
2014-07-26 16:15:00 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เช็ค username จาก session ฟิลด์ old ค่ะ
testold ก็คือ session !account_id
testnew ก็คือข้อมูลที่เรากรอกลงในฟอร์มคะ
ไม่รู้อธิบายถูกไหม
add.php
<?php
session_start();
if (strlen($_POST[username])<>0) {
if (strlen($_POST[username])<>0 and strlen($_POST[password])<>0) {
$username = trim($_POST[username]);
$password = trim($_POST[password]);
include('login.php');
}
}
$objConnect = mssql_connect("localhost","sa","123456") or die("Error Connect to Database");
$objDB = mssql_select_db("mydatabase");
$CHECK = "SELECT count(*) from member where old= '$account_id' ";
$RESULT = mssql_query($CHECK);
if($RESULT == 0){
$strSQL = "INSERT INTO member ";
$strSQL .="(old,new,ip,dt) ";
$strSQL .="VALUES ";
$now = date("Y-m-d H:i:s");
$strSQL .="('".$account_id."','".$_POST["txtnew"]."','$_SERVER[REMOTE_ADDR]','$now') ";
$objQuery = mssql_query($strSQL);
}else{
echo "Error";
die();
}
if($objQuery)
?>
|
ประวัติการแก้ไข 2014-07-26 16:41:14
|
|
|
|
Date :
2014-07-26 16:40:13 |
By :
nuinfo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ห้าม old หรือ new ซ้ำละครับ ?
|
|
|
|
|
Date :
2014-07-26 16:47:56 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ห้าม old ซ้ำค่ะ
|
|
|
|
|
Date :
2014-07-26 16:49:41 |
By :
nuinfo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$CHECK = "SELECT old from member where old= '$account_id' ";
$RESULT = mssql_query($CHECK);
if($RESULT){
ลองแก้เป็นแบบนี้ครับ
|
|
|
|
|
Date :
2014-07-26 16:54:16 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแล้วค่ะ ยัง insert ซ้ำได้ค่ะ ไม่มี error เลยค่ะ
|
|
|
|
|
Date :
2014-07-26 16:58:14 |
By :
nuinfo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตรงนี้เกี่ยวมั้ยคะ
ลองดูตรงที่คลุมดำ มันมีเว้นวรรคด้วยคะ
|
|
|
|
|
Date :
2014-07-26 17:01:19 |
By :
nuinfo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง echo $CHECK มาดู ละลองไปเอาไปแปะใน phpmyadmin ดูครับ ข้อมูลขึ้นมายังไง
|
|
|
|
|
Date :
2014-07-26 17:01:52 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช่แบบนี้มั้ยคะ
|
|
|
|
|
Date :
2014-07-26 17:10:59 |
By :
nuinfo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2014-07-26 17:15:51 |
By :
nuinfo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
กำ - -"
ผมเบลออีกแล้ว
if(!$RESULT){
ใส่เครื่องหมายตกใจนะครับ T_T
หมายถึงถ้า $RESULT ไม่มีค่า ให้ไป insert
|
|
|
|
|
Date :
2014-07-26 17:16:46 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแล้วค่ะ ยังขึ้นข้อมูลซ้ำอยู่เลยคะ Y_Y
|
|
|
|
|
Date :
2014-07-26 17:28:29 |
By :
nuinfo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?
$objConnect = mssql_connect("localhost","sa","123456") or die("Error Connect to Database");
$objDB = mssql_select_db("mydatabase");
$CHECK = "SELECT count(*) from member where old= '$account_id' ";
$CHECK = mssql_query($CHECK);
$RESULT= mssql_fetch_array($CHECK );
if(!$RESULT){
$strSQL = "INSERT INTO member";
$strSQL .="(old,new,ip,dt) ";
$strSQL .="VALUES ";
$now = date("Y-m-d H:i:s");
$strSQL .="('".$account_id."','".$_POST["txtnew"]."','$_SERVER[REMOTE_ADDR]','$now') ";
$objQuery = mssql_query($strSQL);
}else{
echo "ข้อมุลซ้ำ";
die();
}
$now = date("Y-m-d H:i:s");
if($objQuery)
?>
ลองอันนี้นะครับ T_T
|
|
|
|
|
Date :
2014-07-26 17:33:27 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลืม mssql_fetch_array ข้อมูลออกมา T_T
|
|
|
|
|
Date :
2014-07-26 17:36:02 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วค่ะ
ขอบคุณพี่มากๆเลยนะคะที่สละเวลามาช่วยหนู ถ้าไม่ได้พี่ หนูคงต้องปวดสมองอีกหลายวันแน่เลยคะ
แก้ตรงนี้ค่ะ
Code (PHP)
$CHECK = "SELECT old from member where old= '$account_id' ";
Code (PHP)
<?
$objConnect = mssql_connect("localhost","sa","123456") or die("Error Connect to Database");
$objDB = mssql_select_db("mydatabase");
$CHECK = "SELECT old from member where old= '$account_id' ";
$CHECK = mssql_query($CHECK);
$RESULT= mssql_fetch_array($CHECK );
if(!$RESULT){
$strSQL = "INSERT INTO member";
$strSQL .="(old,new,ip,dt) ";
$strSQL .="VALUES ";
$now = date("Y-m-d H:i:s");
$strSQL .="('".$account_id."','".$_POST["txtnew"]."','$_SERVER[REMOTE_ADDR]','$now') ";
$objQuery = mssql_query($strSQL);
}else{
echo "ข้อมุลซ้ำ";
die();
}
$now = date("Y-m-d H:i:s");
if($objQuery)
?>
|
ประวัติการแก้ไข 2014-07-26 17:41:19
|
|
|
|
Date :
2014-07-26 17:40:33 |
By :
nuinfo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|