|
|
|
ข้อมูล update insert ลง MySQL ได้ แต่ยังขึ้น Warning: mysql_fetch_array(): supplied argument a valid MySQL result resource in |
|
|
|
|
|
|
|
ข้อมูล update insert ลง MySQL ได้ แต่ยังขึ้น
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\DITTO\dittogamecheck.php on line 140
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\DITTO\dittogamecheck.php on line 141
Code (PHP)
<?
session_start();
include "include/connect.php";
$user_id = $_SESSION['uid_idx'];
$user_code = $_SESSION['user_code'];
$starttime = $_SESSION['timestart'];
$strSQL="select * from user inner join user_position on user_position_id = ref_user_position_id where user_id = '$user_id' and active = 'Y'";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$rs=mysql_fetch_array($objQuery);
$user_name = $rs["user_name"];
$user_lname = $rs["user_lname"];
$user_position_name = $rs["user_position_name"];
$user_class = $_SESSION['user_class'];
?><strong></strong>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>DITTO GAME</title>
</head>
<h1>-: ดิทโต้ ปริศนาสายฟ้าแลบ :-</h1>
<br>
<?
$today=date("d-m-Y");
$time=date("H:i:s");
function diff2time($time_a,$time_b)
{
$now_time1=strtotime(date("Y-m-d ".$time_a));
$now_time2=strtotime(date("Y-m-d ".$time_b));
$time_diff=abs($now_time2-$now_time1);
$time_diff_h=floor($time_diff/3600); // จำนวนชั่วโมงที่ต่างกัน
$time_diff_m=floor(($time_diff%3600)/60); // จำวนวนนาทีที่ต่างกัน
$time_diff_s=($time_diff%3600)%60; // จำนวนวินาทีที่ต่างกัน
//return $time_diff_h." ชั่วโมง ".$time_diff_m." นาที ".$time_diff_s." วินาที";
return $time_diff_s;
}
$timediff = diff2time("$time","$starttime");
$score=0;
print "<b>คุณ</b> $user_code $user_name $user_lname<br>";
print "คำตอบแบบทดสอบสัปดาห์ที่ 1 <br>";
print "วันที่ : $today <br />เวลาเริ่ม : $starttime <br />เวลาสิ้นสุด : $time <br />ใช้เวลา : $timediff วินาที<p><br />";
if ($test1=="5")
{
$score1 = '2';
}
if ($test2=="5")
{
$score2 = '2';
}
if ($test3=="3")
{
$score3 = '3';
}
if ($test4=="3")
//{print"ถูกต้อง<img src=t.jpg><p>";
{
$score4 = '3';
}
if ($test5=="5")
{
$score5 = '3';
}
$totalscore = $score1+$score2+$score3+$score4+$score5;
print "<br> <img src=score.jpg><br>ได้คะแนนเท่ากับ : $totalscore <p>";
//การบันทึกระบบฐานข้อมูล MySQL
$objDB = mysql_select_db("$dbname");
$strSQL1="select * from dittogame where UserName = '$user_code' AND score2 =''";
$objQuery1 = mysql_query($strSQL1) or die ("Error Query [".$strSQL1."]");
$objResult1= mysql_fetch_array($objQuery1);
echo $Num_Rows1 = mysql_num_rows($objQuery1);
if ($Num_Rows1 != 0)
{
$strSQL2 = "UPDATE dittogame SET
uname = '$user_name',
lname = '$user_lname',
today = '$today',
timestart = '$starttime',
time = '$time',
timediff2 = '$timediff',
score2 = '$totalscore'
WHERE UserName = '$user_code' ";
//เพิ่มข้อมูลลง Database
$objQuery2 = mysql_query($strSQL2) or die ("Error Query [".$strSQL2."]");
$objResult2=mysql_fetch_array($objQuery2);
$Num_Rows2 = mysql_num_rows($objQuery2);
if ($objResult2==1)
print("Update to table OK.");
else
print("Error Update to table. ");
echo 'Update<br />' ;
}
else
{
$strSQL3="insert into dittogame (UserName,uname,lname,today,timestart,time,timediff2,score2) values ('$user_code','$user_name','$user_lname','$today','$starttime','$time','$timediff','$totalscore')";
$objQuery3 = mysql_query($strSQL3) or die ("Error Query [".$strSQL3."]");
$objResult3=mysql_fetch_array($objQuery3);
$Num_Rows3 = mysql_num_rows($objQuery3);
if ($objResult3==1)
{
print("Adding to table OK.");
}
else
{
print("Error Adding to table. ");
}
echo 'Insert<br />' ;
}
echo '<a href="http://192.168.1.6/">กลับ</a>';
?>
</body>
</html>
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2016-06-27 19:20:32 |
By :
karurub |
View :
880 |
Reply :
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่าน document ของคำสั่งที่ใช้งานให้ดีครับ ว่า result ที่ได้มามันมี type เป็นอะไร
สำหรับการคิวรี่ ด้วยคำสั่ง insert update delete
result ที่ได้จะมีรูปแบบตัวแปรเป็น BOOLEAN ซึงเอามา fetch ด้วนคำสั่ง mysql_fetch_xxx ไม่ได้
เพราะ คำสั่งดังกล่าวใช้ได้กับ result ที่เป็น array เท่านั้น
|
|
|
|
|
Date :
2016-06-28 06:33:11 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 4 เขียนโดย : karurub เมื่อวันที่ 2016-06-28 13:56:42
รายละเอียดของการตอบ ::
Code (PHP)
<?
session_start();
include "include/connect.php";
$user_id = $_SESSION['uid_idx'];
$user_code = $_SESSION['user_code'];
$starttime = $_SESSION['timestart'];
$strSQL="select * from user inner join user_position on user_position_id = ref_user_position_id where user_id = '$user_id' and active = 'Y'";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$rs=mysql_fetch_array($objQuery);
$user_name = $rs["user_name"];
$user_lname = $rs["user_lname"];
$user_position_name = $rs["user_position_name"];
$user_class = $_SESSION['user_class'];
?><strong></strong>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>DITTO GAME</title>
</head>
<h1>-: ดิทโต้ ปริศนาสายฟ้าแลบ :-</h1>
<br>
<?
$today=date("d-m-Y");
$time=date("H:i:s");
function diff2time($time_a,$time_b)
{
$now_time1=strtotime(date("Y-m-d ".$time_a));
$now_time2=strtotime(date("Y-m-d ".$time_b));
$time_diff=abs($now_time2-$now_time1);
$time_diff_h=floor($time_diff/3600); // จำนวนชั่วโมงที่ต่างกัน
$time_diff_m=floor(($time_diff%3600)/60); // จำวนวนนาทีที่ต่างกัน
$time_diff_s=($time_diff%3600)%60; // จำนวนวินาทีที่ต่างกัน
//return $time_diff_h." ชั่วโมง ".$time_diff_m." นาที ".$time_diff_s." วินาที";
return $time_diff_s;
}
$timediff = diff2time("$time","$starttime");
$score=0;
echo "<b>คุณ</b> $user_code $user_name $user_lname<br>";
echo "คำตอบแบบทดสอบสัปดาห์ที่ 1 <br>";
echo "วันที่ : $today <br />เวลาเริ่ม : $starttime <br />เวลาสิ้นสุด : $time <br />ใช้เวลา : $timediff วินาที<p><br />";
if ($test1=="5"){
$score1 = '2';
}
if ($test2=="5") {
$score2 = '2';
}
if ($test3=="3") {
$score3 = '3';
}
if ($test4=="3") {
$score4 = '3';
}
if ($test5=="5") {
$score5 = '3';
}
$totalscore = $score1+$score2+$score3+$score4+$score5;
print "<br> <img src=score.jpg><br>ได้คะแนนเท่ากับ : $totalscore <p>";
//การบันทึกระบบฐานข้อมูล MySQL
$objDB = mysql_select_db("$dbname");
$strSQL1="SELECT * FROM dittogame WHERE UserName = '$user_code' AND score2 =''";
$objQuery1 = mysql_query($strSQL1) or die ("Error Query [".$strSQL1."]");
echo $Num_Rows1 = mysql_num_rows($objQuery1);
if ($Num_Rows1 != 0)
{
$objResult1= mysql_fetch_array($objQuery1);
$strSQL2 = "UPDATE dittogame SET
uname = '".$user_name."',
lname = '".$user_lname."',
today = '".$today."',
timestart = '".$starttime."',
time = '".$time."',
timediff2 = '".$timediff."',
score2 = '".$totalscore."'
WHERE UserName = '".$user_code."' ";
//เพิ่มข้อมูลลง Database
$objQuery2 = mysql_query($strSQL2) or die ("Error Query [".$strSQL2."]");
if($objQuery2){
echo "Update Complete";
}else{
echo "Non Update Access";
}
}
else
{
$strSQL3="INSERT INTO dittogame (UserName,uname,lname,today,timestart,time,timediff2,score2) VALUES ('".$user_code."','".$user_name."','".$user_lname."','".$today."','".$starttime."','".$time."','".$timediff."','".$totalscore."')";
$objQuery3 = mysql_query($strSQL3) or die ("Error Query [".$strSQL3."]");
if($objQuery3){
echo "Insert Complete";
}else{
echo "Non Insert Access";
}
}
echo '<a href="http://192.168.1.6/">กลับ</a>';
?>
</body>
</html>
แนะนำ
- เน้นคีย์หลักๆให้เป็นตัวใหญ่
- จะ echo หรือ print เลือกแค่ตัวใดตัวหนึ่ง
- ตั่งค่า ตัวแปร Variable ควรตั้งให้สอดคล้อง $Update,$Query,
- ผมจะเน้นใส่ค่า tab สีให้ชัดเจนเพื่อสะดวกในการมอง (เฉพาะบุคคล)
|
ประวัติการแก้ไข 2016-06-28 14:19:02
|
|
|
|
Date :
2016-06-28 14:18:35 |
By :
dudesaranyu |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|