รบกวนหา error เกี่ยวกับการ insert - update ข้อมูลให้หน่อยนะคะ

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

มะลิ
PHP Newbie
PHP Newbie
Posts: 1
Joined: 07/04/2011 10:46 am

รบกวนหา error เกี่ยวกับการ insert - update ข้อมูลให้หน่อยนะคะ

Post by มะลิ » 07/04/2011 10:59 am

สวัสดีค่ะ
ขอรบกวนช่วยตรวจโค้ดข้างล่างนี้ให้หน่อยนะคะ
จุดประสงค์ของโค้ดนี้ คือ
เช็ค username ในsession นั้นๆ เพื่อดูว่ามันอยู่ใน table รึยัง ถ้ามีอยู่เเล้วจะเก็บคะเเนนจากเกมที่ส่งมาใน current_score โดยส่งคะเเนนที่เคยอยู่ในนั้นไปที่ previous_score อ่ะค่ะ
แต่ถ้าไม่ก้อจะ insert แถวใหม่ค่ะ
ตอนนี้ update คะเเนนได้เเล้ีว เเต่คะเเนนเก่ายังไม่ถูกเก็บใน previous_score อ่ะค่ะ
และก็มี error ตรง error4 ด้วยอ่ะค่ะ

Code: Select all

<?php
session_start();

// test
$_SESSION['username'] = "nat";


	$host = "localhost";
	$user = "root";
	$pass = "";
	$dbname = "kinderkids";
	$connection = mysql_connect($host, $user, $pass) or die ("cannot connect to DB");
	
		
	$sql = mysql_select_db($dbname,$connection) or die ("Couldn't find db");
	
	if (!$sql) {
	
	die ("cannot select database");
	
	} 
print_r($_SESSION);

$s_username = $_SESSION['username'];

//$score = ($_REQUEST['varScore']);
$score = 55;

if ($score) {

	$currentDate = date("Y-m-d");

	$tbsql = "SELECT username FROM testscore2 where username = '".$s_username."'";
	$result = mysql_query($tbsql)or die("error1");
	$num_rows = mysql_num_rows($result);

	if ($num_rows <> 0) {
		while ($row = mysql_fetch_assoc($result))
		{
			echo $row['current_score'];
			$dbcurrent =  $row['current_score'];
			//$dbprevious =  $row['previous_score'];
			
		
		}

		$updateQuery = "UPDATE testscore2 SET previous_score = '{$dbcurrent}' WHERE username = '".$s_username."'";
		//$updateQuery .= "WHERE username = '".$s_username."'";
		mysql_query($updateQuery) or die("error2");

		//$updatesql = "UPDATE testPreviousScore SET current_score = $score WHERE username = {$_SESSION['username']}";
		$updatesql = "UPDATE testscore2 SET current_score = '{$score}'";
		$updatesql .= "WHERE username = '".$s_username."'";
		mysql_query($updatesql) or die("error3");

	} else 


	$insertQuery = "INSERT INTO testscore2(username, last_visit, current_score, previous_score) VALUES ('".$s_username."','$currentDate','$score', '')";

	mysql_query($insertQuery) or die("error4");



} else 

echo "no score posted";

?>
ขอคำเเนะนำด้วยนะคะ

touleg
PHP Super Member
PHP Super Member
Posts: 480
Joined: 25/01/2010 11:57 pm
Contact:

Re: รบกวนหา error เกี่ยวกับการ insert - update ข้อมูลให้หน่อยนะคะ

Post by touleg » 07/04/2011 2:21 pm

Code: Select all

<?php
session_start();

// test
$_SESSION['username'] = "nat";

$host = "localhost";
$user = "root";
$pass = "";
$dbname = "kinderkids";
$connection = mysql_connect($host, $user, $pass) or die ("cannot connect to DB");
mysql_select_db($dbname,$connection) or die ("Couldn't find db");

$s_username = $_SESSION['username'];

if (isset($_GET['varScore'])) {
    
    $score = $_GET['varScore'];
    $tbsql = "SELECT * FROM testscore2 where username = '{$s_username}'";
    $result = mysql_query($tbsql) or die("Error 1");
    
    $num_rows = mysql_num_rows($result);
    if ($num_rows == 1) {
        $data = mysql_fetch_assoc($result);
        $dbcurrent =  $data['current_score'];
        
        $sql = "UPDATE testscore2 SET previous_score = '{$dbcurrent}',current_score = '{$score}' WHERE username = '{$s_username}'";
        mysql_query($sql) or die("error2");
        
    }else{ //$num_rows = 0 only
        $currentDate = date("Y-m-d");
        $sql = "INSERT INTO testscore2(username, last_visit, current_score) VALUES ('{$s_username}','{$currentDate}','{$score}')";
        mysql_query($sql) or die("error4");
    }
}else{
    echo "no score posted";
}
?>

Post Reply

Return to “Programming - PHP”

Users browsing this forum: No registered users and 19 guests