|
|
|
ไม่รู้ว่าผิดตรงไหนอะคะ พอดีทำไม่เปงเลยอะ งงมากมายช่วยดูให้หน่อยคะ |
|
|
|
|
|
|
|
?php
//กำหนดตัวแปรเพื่อนำไปใช้งาน
$hostname = "localhost"; //ชื่อโฮสต์
$user = "root"; //ชื่อผู้ใช้
$password = "1234"; //รหัสผ่าน
$dbname = "asset_management"; //ชื่อฐานข้อมูล
$tblname = "asset"; //ชื่อตาราง
// เริ่มติดต่อฐานข้อมูล asse
mysql_connect($hostname,$user,$password) || die(mysql_error());
// เลือกฐานข้อมูล
mysql_select_db($dbname) or die(mysql_error());
// คำสั่ง SQL และสั่งให้ทำงาน
$sqla="INSERT INTO `asset` (`asset_sub` ,`asset_y` ,`assetname` ,`room_Id` ,`roomname` ,`floor`,`building` )
VALUES ('$asset_sub', '$asset_y', '$assetname', '$room_Id', '$roomname', '$floor', '$building')";
if(mysql_db_query($dbname, $sql) || die (mysql_error()))
{
echo "<body onload=\"window.alert('เพิ่มสินทรัพย์เรียบร้อยแล้ว');\">";
?>
</div>
<meta http-equiv="refresh" content="2;URL=asset.php">
<?php
}
else
{
echo "<body onload=\"window.alert('การเพิ่มสินทรัพย์เกิดข้อผิดพลาด');\">";
?>
<meta http-equiv="refresh" content="2;URL=addasset.php">
<?php
}
mysql_close();
?>
Tag : PHP
|
|
|
|
|
|
Date :
2010-08-12 21:21:41 |
By :
ผู้หญิงสีดำ |
View :
1064 |
Reply :
33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันคือคำนี้อะคะ Query was empty พอกดตกลงแล้ว
มันก้อไม่ฟ้อง error ตรงไหนเลย แต่มันไม่เก็บข้อมูลด้วย
อะ นู๋เลยไม่เลยว่าเขียนผิดตรงไหน รบกวนด้วยคะ
|
|
|
|
|
Date :
2010-08-12 21:36:15 |
By :
ผู้หญิงสีดำ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$sqla
mysql_db_query($dbname, $sql)
|
|
|
|
|
Date :
2010-08-12 21:54:26 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง
Code (PHP)
echo $sqla="INSERT INTO `asset` (`asset_sub` ,`asset_y` ,`assetname` ,`room_Id` ,`roomname` ,`floor`,`building` )
VALUES ('$asset_sub', '$asset_y', '$assetname', '$room_Id', '$roomname', '$floor', '$building')";
exit; // เพิ่มไว้ชั่วคราว
ดูครับ ว่าตัวแปรมาตามที่เราส่งมาจากหน้าฟอร์มทุกตัวหรือเปล่า
|
ประวัติการแก้ไข 2010-08-12 22:04:20
|
|
|
|
Date :
2010-08-12 22:01:41 |
By :
iieszz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
?php
//กำหนดตัวแปรเพื่อนำไปใช้งาน
$hostname = "localhost"; //ชื่อโฮสต์
$user = "root"; //ชื่อผู้ใช้
$password = "1234"; //รหัสผ่าน
$dbname = "asset_management"; //ชื่อฐานข้อมูล
$tblname = "asset"; //ชื่อตาราง
// เริ่มติดต่อฐานข้อมูล asse
mysql_connect($hostname,$user,$password) or die(mysql_error());
// เลือกฐานข้อมูล
mysql_select_db($dbname) or die(mysql_error());
// คำสั่ง SQL และสั่งให้ทำงาน
$sql="INSERT INTO `asset` (`asset_sub` ,`asset_y` ,`assetname` ,`room_Id` ,`roomname` ,`floor`,`building` )
VALUES ('$asset_sub', '$asset_y', '$assetname', '$room_Id', '$roomname', '$floor', '$building')";
$query=mysql_query($sql);
if($query)
{
echo "<body onload=\"window.alert('เพิ่มสินทรัพย์เรียบร้อยแล้ว');\">";
echo "<meta http-equiv=\"refresh\" content=\"2;URL=asset.php\">";
}
else
{
echo "<body onload=\"window.alert('การเพิ่มสินทรัพย์เกิดข้อผิดพลาด');\">";
echo "<meta http-equiv=\"refresh\" content=\"2;URL=addasset.php\">";
}
mysql_close();
?>
ลองปรับโค๊ดมาให้ดูนะครับ
สำหรับความแตกต่้างระหว่าง mysql_query และ mysql_db_query
สำหรับ mysql_query ใช้ในกรณีที่เราไม่ได้มีการเปลี่ยนแปลง Database บ่อยๆ กล่าวคือใช้ตัว Database แค่ก้อนเดียวไม่เปลี่ยนไปไหนใช้ connection เดียว แต่มีบาง application ที่ต้องมีการใช้ database หลายๆ ก้อนใน app เดียวกันซึ่งต้องใช้ connection และ db หลายตัวเลยทำให้เราต้องใช้ mysql_db_query มาช่วยในการนี้ครับ
ขอให้สนุกกับการเขียน PHP นะครับผม
ปอจัง
|
|
|
|
|
Date :
2010-08-12 22:27:26 |
By :
mflutoday |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณสำหรับคำชี้แนะครับผม
ได้ความรู้เพิ่มเติมก่อนนอกอีกแล้ว
|
|
|
|
|
Date :
2010-08-12 23:13:28 |
By :
iieszz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โทดนะคะมันฟ้อง แต่ msg แต่ ข้อมูลเกิดข้อผิดพลาดตลอดเลยอะคะ
|
|
|
|
|
Date :
2010-08-13 09:25:19 |
By :
ผู้หญิงสีดำ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาโค๊ด พร้อมด้วย capture ผลลัพธ์มาดูกันครับ ถ้าบอกแบบนี้ก็ต้องเดากันไป อยากได้คำตอบที่แก้ไขปัญหาคุณได้ คุณต้องแสดงให้คนตอบเห็นปัญหาของคุณก่อน
|
|
|
|
|
Date :
2010-08-13 09:35:58 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง echo $sql แล้วลองเอาไปรันกับ phpMyAdmin ดูนะครับแล้วดูว่ามันฟ้อง Error อะไรนะครับ สู้ๆครับ
ปอจัง
|
|
|
|
|
Date :
2010-08-13 09:39:07 |
By :
mflutoday |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันฟ้อง "INSERT INTO `asset` (`asset_sub` ,`asset_y` ,`assetname` ,`room_Id` ,`roomname` ,`floor`,`building` )
VALUES (' ', ' ', ' ', ' ', ' ', ' ', ' ')";
values มันเปงค่าว่างอะคะ มันไม่ตรงกับฐานข้อมูลหรือว่า หน้ากำหนดตัวแปร อะคะ
|
|
|
|
|
Date :
2010-08-13 09:51:36 |
By :
ผู้หญิงสีดำ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันรับค่าไม่ได้ คงติดที่ register_global วิธีแก้และควรใช้ให้เป็นนิสัย ใช้การรับค่าด้วย _GET _POST _REQUEST
ต่อมาใส่ $query=mysql_query($sql) or die(mysql_error()); เพื่อดูว่ามัน error อะไรกันแน่
|
|
|
|
|
Date :
2010-08-13 10:01:23 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาแบบนี้ดูนะครับ
- เช็คหน้าที่ส่งมานะครับตัวแปรตามนี้รึเปล่า $asset_sub $asset_y $assetname $room_Id $roomname $floor $building
เช่น TextBox ชื่อ asset_sub มีอยู่จริงไหม ลองไล่ให้ครบนะครับ
-หน้ารับเพิ่ม $asset_sub=$_REQUEST['asset_sub']; ทำทุกตัวนะครับก่อนเอาไปสร้างคำสั่ง sql
ลองดูครับผม
ปอจัง
|
|
|
|
|
Date :
2010-08-13 10:03:54 |
By :
mflutoday |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<?php
$asset_sub=$_POST['asset_sub'];
$asset_y=$_POST['asset_y'];
$assetname=$_POST['assetname'];
$room_Id=$_POST['room_Id'];
$roomname=$_POST['roomname'];
$floor=$_POST['floor'];
$building=$_POST['building'];
$sql1="SELECT * FROM `asset` WHERE asset='$asset_sub'";//เรียกใช้ section
$sqlquery=mysql_query($sql1);
//$read=mysql_fetch_array($sqlquery);
$sql="INSERT INTO `asset` (`asset_sub` ,`asset_y` ,`assetname` ,`room_Id` ,`roomname` ,`floor`,`building` )
VALUES ('$asset_sub', '$asset_y', '$assetname', '$room_Id', '$roomname', '$floor', '$building')";
$query=mysql_query($sql);
if($query)
{
echo "<body onload=\"window.alert('เพิ่มสินทรัพย์เรียบร้อยแล้ว');\">";
?>
<meta http-equiv="refresh" content="2;URL=asset.php" />
<?php
}
else
{
echo "<body onload=\"window.alert('การเพิ่มสินทรัพย์เกิดข้อผิดพลาด');\">";
?>
<meta http-equiv=\"refresh\" content=\"2;URL=addasset.php"/>
<?php
}
//mysql_close();
?>
|
|
|
|
|
Date :
2010-08-13 10:19:53 |
By :
ผู้หญิงสีดำ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จะบอกว่าโค้ดข้างบนอะคะ มันจะขึ้น msg ว่าข้อมูลเกิดข้อผิดพลาด อะ
แล้วถึงจะลงข้อมูลได้ อะคะ เปงเพราะอะไรหรอ แบบว่ากดมาปรับมันขึ้นเลยอะว่า
"ข้อมูลเกิดข้อผิดพลาดอะคะ"
|
|
|
|
|
Date :
2010-08-13 10:20:58 |
By :
ผู้หญิงสีดำ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$sql="INSERT INTO `asset` (`asset_sub` ,`asset_y` ,`assetname` ,`room_Id` ,`roomname` ,`floor`,`building` )
VALUES ('$asset_sub', '$asset_y', '$assetname', '$room_Id', '$roomname', '$floor', '$building')";
$query=mysql_query($sql);
if(! $query)
{
die('Could not enter data: ' . mysql_error());
}
ลองแบบนี้ครับแล้วขอดู Error หน่อยครับ
|
|
|
|
|
Date :
2010-08-13 10:27:56 |
By :
mflutoday |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Could not enter data: Duplicate entry '0' for key 1 แบบนี้อะคะ
|
|
|
|
|
Date :
2010-08-13 10:39:31 |
By :
ผู้หญิงสีดำ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตาม ผู้รู้ด้านบน คุณลอง echo ตัวแปร ที่ส่งมาหรือยัง
1. ถ้าตัวแปรมีค่าที่ส่งมาก็ OK
2.เช็คว่า หลังจาก query มี error อะไรบ้าง โดยการ เพิ่ม mysql_error() ตามที่พี่ Plakrim บอก
3.ถ้าไม่มี error มันก็น่าจะได้ แล้วผมแนะนำให้ใช้ เป็น
Code (PHP)
echo'<script>alert("เพิ่มสินทรัพย์เรียบร้อยแล้ว");window.location="asset.php";</script>';
อีกอันนึงก้อทำเช่นเดียวกันมันก้อน่าจะโอเคแล้วน่ะ แต่ ทว่า คุณยังไม่ได้รับค่าที่ตัวแปรนั้นๆ ส่งมาก้อไม่สามารถเดินหน้าต่อได้
ขอบคุณครับ
|
|
|
|
|
Date :
2010-08-13 10:39:51 |
By :
chubichane |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PK ซ้ำ แล้วล่ะครับ ลองเข้าไปลบใน ฐานข้อมูลก่อนเผื่อมันมีการ insert ค่าว่างไปก่อนหน้านั้นแล้วก้อลองใหม่
|
|
|
|
|
Date :
2010-08-13 10:41:19 |
By :
chubichane |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช่คะมันมีค่าว่าง แต่พอลบแล้ว ลองรันใหม่มันก้อโชว์ว่า เพิ่มข้อมูลสินทรัพย์เรียบร้อยแล้ว เลยอะคะ
|
|
|
|
|
Date :
2010-08-13 10:48:18 |
By :
ผู้หญิงสีดำ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต้องเชคก่อน Insert นะครับผมว่า PK มันซ้ำกันไหมถ้าซ้ำก่ต้องแจ้งเตือนครับ สู้ๆ ครับผม
|
|
|
|
|
Date :
2010-08-13 10:49:42 |
By :
mflutoday |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเปลี่ยนตามนี้ได้ไหมครับ
Code (PHP)
if($query)
{
echo "<script>alert('เพิ่มสินทรัพย์เรียบร้อยแล้ว');window.location='asset.php';</script>";
}else{
echo "<script>alert('การเพิ่มสินทรัพย์เกิดข้อผิดพลาด');window.location='addasset.php';</script>";
}
|
|
|
|
|
Date :
2010-08-13 10:53:41 |
By :
chubichane |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ได้อะคะ ที่นี้ขึ้น msg ว่าการเพิ่มข้อมูลเกิดข้อผิดพลาดตลอดเลยอะคะ พอกด ok แล้วมันก้อยังขึ้นแบบเดิมซ้ำๆๆกนอะคะ
|
|
|
|
|
Date :
2010-08-13 11:01:26 |
By :
ผู้หญิงสีดำ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอดูโค้ด หน้า จอ addasset.php กับ asset.php ถ้าไม่สะดวกที่นี่รบกวน ส่งเข้าเมลล์
[email protected]
[OIL] ครับ
|
|
|
|
|
Date :
2010-08-13 11:12:15 |
By :
chubichane |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ข้อดู structure ตารางหน่อยคครับ ว่าเป็น ฟิว อะไร type เป็นอะไรแล้วอะไรเป็น PK ข้อดูหน่อยครับ
|
|
|
|
|
Date :
2010-08-13 11:12:29 |
By :
mflutoday |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ รหัสสินทรัพย์เปน pk คะ ใช้เปงประเภท int
|
|
|
|
|
Date :
2010-08-13 11:15:44 |
By :
ผู้หญิงสีดำ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
?php
//กำหนดตัวแปรเพื่อนำไปใช้งาน
$hostname = "localhost"; //ชื่อโฮสต์
$user = "root"; //ชื่อผู้ใช้
$password = "1234"; //รหัสผ่าน
$dbname = "asset_management"; //ชื่อฐานข้อมูล
$tblname = "asset"; //ชื่อตาราง
// เริ่มติดต่อฐานข้อมูล asse
mysql_connect($hostname,$user,$password) or die(mysql_error());
// เลือกฐานข้อมูล
mysql_select_db($dbname) or die(mysql_error());
// คำสั่ง SQL และสั่งให้ทำงาน
$asset_sub=$_POST['asset_sub'];
$asset_y=$_POST['asset_y'];
$assetname=$_POST['assetname'];
$room_Id=$_POST['room_Id'];
$roomname=$_POST['roomname'];
$floor=$_POST['floor'];
$building=$_POST['building'];
$sql="select * from `asset` where `asset_sub`='$asset_sub' ";
$query=@mysql_query($sql);
$num=@mysql_num_rows($query);
if($num==0)
{
$sql="INSERT INTO `asset` (`asset_sub` ,`asset_y` ,`assetname` ,`room_Id` ,`roomname` ,`floor`,`building` )
VALUES ('$asset_sub', '$asset_y', '$assetname', '$room_Id', '$roomname', '$floor', '$building')";
$query=mysql_query($sql);
if($query)
{
echo "<body onload=\"window.alert('เพิ่มสินทรัพย์เรียบร้อยแล้ว');\">";
echo "<meta http-equiv=\"refresh\" content=\"2;URL=asset.php\">";
}
else
{
echo "<body onload=\"window.alert('การเพิ่มสินทรัพย์เกิดข้อผิดพลาด');\">";
echo "<meta http-equiv=\"refresh\" content=\"2;URL=addasset.php\">";
}
}
else
{
echo "<body onload=\"window.alert('การเพิ่มสินทรัพย์เกิดข้อผิดพลาดเนื่องจากมีรหัสสินทรัพย์ซ้ำกรุณาตรวจสอบใหม่อีกครั้ง');\">";
echo "<meta http-equiv=\"refresh\" content=\"2;URL=addasset.php\">";
}
mysql_close();
?>
|
|
|
|
|
Date :
2010-08-13 11:22:26 |
By :
mflutoday |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ส่งเมล์กลับไปให้แล้วน่ะครับ ลองดูจ้า เผื่อมีปาติหาร
|
|
|
|
|
Date :
2010-08-13 11:29:13 |
By :
chubichane |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณสำหรับทุกคนที่ช่วยดูโค้ดนะคะ
|
|
|
|
|
Date :
2010-08-13 11:34:01 |
By :
ผู้หญิงสีดำ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แหะๆ ตามนั้นเลยจ้า ก้อสะดวกเป็นพักๆ สะดวกตลอดเลยกะได้ 08.00-17.00 เพื่อนู๋
|
|
|
|
|
Date :
2010-08-13 11:49:59 |
By :
chubichane |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|