|
|
|
มีปัญหาตรง mysql_query มันไม่สามารถประมวลผลได้ คือไม่สามารถเอาข้อมูลเข้า mysql ได้ค่ะ มีโค้ดมาให้ดู วานผู้รู้ช่วยแนะนำค่ะ(แก้ได้แล้วค่ะ ขอบคุณที่ให้คำแนะนำค่ะ) |
|
|
|
|
|
|
|
ส่วนตรงนี้เป็นไฟล์ register.php ไว้สำหรับรับข้อมูลที่กรอกเข้าค่ะ
Code (PHP)
<?
$u_id = $_REQUEST['user_id'];
$u_pass = $_REQUEST['pass_id'];
$u_email = $_REQUEST['email'];
$u_tel = $_REQUEST['tel'];
$u_name = iconv('TIS-620', 'UTF-8',$_REQUEST['user_name']);
$sql_str = "insert into" .
"tbUser(user_id, user_name, password, email, tel, user_type, update_date)" .
"values('" . $u_id . "','" . $u_name . "','" . $u_pass ."','" . $u_email . "','" . $u_tel . "', 'U' , sysdate())";
$user = "root";
$password = "1234";
$db_connect = mysql_connect("localhost", $user, $password) or die("ไม่สามารถเชื่อมต่อฐานข้อมูลได้");
mysql_select_db("mycardb", $db_connect) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_query($sql_str,$db_connect) or die("เอ็กซิคิวต์คำสั่ง SQL ไม่ได้");
mysql_close($db_connect);
?>
<center>
ข้อมูลของท่านเข้าสู่ระบบเรียบร้อยแล้ว<br/>
<a href="login.php?user_id=<?=$u_id?>&pass_id=<?=$u_pass?>">คลิกเพื่อ Login เข้าสู่ระบบ</a>
</center>
มีปัญหาตรงนี้ค่ะ mysql_query($sql_str,$db_connect) or die("เอ็กซิคิวต์คำสั่ง SQL ไม่ได้");
มันขึ้นว่า เอ็กซิคิวต์คำสั่ง SQL ไม่ได้
โค้ดนี้เราทำตามหนังสือมาค่ะ เพียงแต่ในหนังสือมันไม่มีช่องกรอก email กับ tel แต่เราเพิ่มเข้าไป และเพิ่มช่องในตาราง sql เรียบร้อยแล้ว ชื่อตามที่กล่าวมานะค่ะ เพราะว่าต้องการได้อีเมล์และเบอร์โทรศัพท์ของลูกค้าด้วย
ลองนั่งดูแก้ไปแก้มาแล้วก็ยังไม่ได้ขอคำปรึกษาค่ะ ช่วยเราดูหน่อยว่าเราผิดตรงส่วนไหนค่ะ
ขอบคุณค่ะ
Tag : PHP, MySQL, JavaScript
|
ประวัติการแก้ไข 2012-02-06 22:25:57 2012-02-06 22:27:34 2012-02-09 11:47:30
|
|
|
|
|
Date :
2012-02-06 11:51:34 |
By :
wanderer |
View :
2786 |
Reply :
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองไล่ดูนะครับ เริ่ม จาก echo $sql_str ออกมาดูก่อนว่า คำสั่งถูกไหม มีข้อมูลมาตรงตามช่องไหม มี อะไรแปลกๆๆ หลุดเข้ามาไหม
ถ้ามันปกติก็ ลองแยก ตัว connect กับ ตัวเก็บ ข้อมูลออกจากกัน ทำคนละตัวจะได้ไล่ง่ายๆๆ
mysql_query($sql_str) or die("เอ็กซิคิวต์คำสั่ง SQL ไม่ได้"); เอาให้เหลือแค่นี้พอ แล้ว ลอง รันดู
|
|
|
|
|
Date :
2012-02-06 12:10:09 |
By :
lootboom |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เดี๋ยวจะลองไป echo ดูค่ะ แต่ตอนที่ยังไม่เพิ่ม email กับ tel เคย echo ออกมายังไม่มีปัญหา ไม่รู้ว่ามีสองตัวนี้ echo จะมีปัญหารึเปล่า
|
|
|
|
|
Date :
2012-02-06 14:12:00 |
By :
wanderer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไปลอง echo ดูแล้วค่ะ แสดงออกมาได้ไม่มีปัญหา เพราะงั้นปัญหาน่าจะอยู่ที่ว่าไม่สามารถเอาข้อมูลเข้าตารางได้ค่ะ
คาดว่าน่าจะมีปัญหาตอนใส่ข้อมูลมากกว่า
นี้คือหน้าตา table ที่รับข้อมูลค่ะ
ใครพอจะช่วยบอกได้รึเปล่าค่ะว่าเราผิดตรงไหน
ขอบคุณค่ะ
|
|
|
|
|
Date :
2012-02-06 21:55:56 |
By :
wanderer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เราลองอัพข้อมูลโดยใช้ sql ผ่านทาง mysql ดู db ของเราก็ไม่มีปัญหานะค่ะ
ข้อมูลเข้าเราคีย์แบบนี้ค่ะ
Code
insert into tbuser(user_id, user_name, password, email, tel, user_type, update_date)
values('admin', 'admin web', '1234', 'webmaster@localhost', '088000000', 'A', sysdate())
ข้อมูลก็เข้าไปได้
|
|
|
|
|
Date :
2012-02-06 22:24:34 |
By :
wanderer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สรุปว่าไม่มีใครทราบเลยเหรอค่ะ
|
|
|
|
|
Date :
2012-02-07 10:42:53 |
By :
wanderer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันต้อง mysql_conect ก่อน INSERT INTO ไม่ใช่หรอครับ ลองดูนะ
|
|
|
|
|
Date :
2012-02-08 10:45:29 |
By :
Ex-[S]i[L]e[N]t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง เคาะ space bar 1 ที หลัง insert into
สงสัยมันติดกัน เป็น insert intotbUser เลย error;
ถ้ายังไม่ได้ ให้ แสดง error ออกมาตอน insert ว่าเป็นที่ไหน แก้เป็นแบบนี้ mysql_query($sql_str,$db_connect) or die(mysql_error);
|
|
|
|
|
Date :
2012-02-08 10:52:43 |
By :
000000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมอยากให้ลองดูตรง
$u_id = $_REQUEST['user_id'];
อยากทราบว่า $u_id ในแต่ละรอบมีค่าเท่ากันหรือเปล่า
เพราะว่าถ้ามันมีค่าเท่ากัน การที่ เราเอา $u_id ไปใส่ใน user_id ซึ่งมันเป็น primary key
มันต้อง error แน่นอนครับ
|
|
|
|
|
Date :
2012-02-08 10:57:24 |
By :
13eachz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เปลี่ยนการเขียนและเรียบเรียงใหมีครับ ตามนี้
Code (PHP)
<?
$user = "root";
$password = "1234";
$db_connect = mysql_connect("localhost", $user, $password) or die("ไม่สามารถเชื่อมต่อฐานข้อมูลได้");
mysql_select_db("mycardb") or die("ติดต่อฐานข้อมูลไม่ได้");
$u_id = $_REQUEST['user_id'];
$u_pass = $_REQUEST['pass_id'];
$u_email = $_REQUEST['email'];
$u_tel = $_REQUEST['tel'];
$u_name = iconv('TIS-620', 'UTF-8',$_REQUEST['user_name']);
$sql_str = "insert into" .
"tbUser(user_id, user_name, password, email, tel, user_type, update_date)" .
"values('" . $u_id . "','" . $u_name . "','" . $u_pass ."','" . $u_email . "','" . $u_tel . "', 'U' , sysdate())";
mysql_query($sql_str) or die(mysql_error());
mysql_close($db_connect);
?>
|
|
|
|
|
Date :
2012-02-08 10:57:58 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณค่ะ จะลองทำดูแล้วจะมาบอกผลนะคะ
|
|
|
|
|
Date :
2012-02-08 14:26:04 |
By :
wanderer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ได้เรียบร้อยแล้วค่ะ ขอบคุณคำแนะนำทุกคำแนะนำนะคะ
|
|
|
|
|
Date :
2012-02-09 11:48:05 |
By :
wanderer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|