ช่วยทีคับตรวจสอบ username ซ้ำ - Warning: mysqli::query() expects parameter 2 to be long, object given in
Code (PHP)
<?php
<?php
ob_start();
session_start();
require_once "../config.php";
if(!isset($_SESSION['valid_gkuser']))
{
?>
<!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>สมัครสมาชิก</title>
<link rel="shortcut icon" href="../favicon.ico"/>
<link rel="stylesheet" href="../css/form_css.css" type="text/css" />
</head>
<body>
<div id="postbox">
<h1>Register</h1>
<p> </p>
<p> </p>
<?php
if($_POST["submit"]!="")
{
$code = $_POST['code'];
if (md5($code) == $_SESSION['image_random_value']) {
$error = 0;
$username = htmlspecialchars($_POST['username']);
$password = trim($_POST['password']);
$password2 = trim($_POST['password2']);
$email = trim(htmlspecialchars($_POST['email']));
$messenger = trim(htmlspecialchars($_POST['msg']));
$website = htmlspecialchars($_POST['web']);
$signature = htmlspecialchars($_POST['sign']);
if($username=="") {
echo "ไม่ได้กรอกชื่อ Username เว้ย ";
$error = 1;
}
if(!ereg("^[a-zA-Z0-9_.-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$",$email)) {
echo " อีเมลมั่วอ๊ะป่าวววว !? ";
$error = 1;
}
else
{
$query = "SELECT * FROM $dbmember WHERE username='$username'";
$result = $conn -> query($query,$conn);
$num_result = $result -> num_rows;
if($num_result != 0)
{
echo " Username นี้มีคนสมัครไว้แล้ว ปลี่ยนใหม่ๆ ";
$error = 1;
}
}
if($password!=$password2 or $password=="")
{
echo " รหัสผ่านไม่ตรงกัน กรอกใหม่ดิ๊ !!";
$error = 1;
}
if($error==0)
{
$mdate = date("Y-m-d H:i:s");
$query = "INSERT INTO $dbmember VALUES (NULL, '$username', md5('$password'), '$email', '$messenger', '$website', '$signature', '$mdate', '', '')";
$result = $conn -> query($query);
if($result)
{
echo "สมัครสมาชิกเสร็จเรียบร้อยแล้ว<br /><a href='../'>คลิกเพื่อกลับไปยังหน้าหลัก</a></div></body></html>";
exit;
}
else
{
echo "ลงทะเบียนไม่ได้ !!! ".mysqli_error($conn);
}
}
} else {
echo ' กรอกเลขไม่ถูกนะจ๊ะ !!';
$error = 1;
}
}
if($_POST["submit"]=="" or $error==1)
{
?>
<p> </p>
<form action="register.php" method="post" enctype="multipart/form-data">
<fieldset>
<legend>Register</legend>
<p><label for="username">Username :</label><input name="username" type="text" id="username" size="30" /> *</p>
<p><label for="password">Password :</label><input name="password" type="password" id="password" size="30" /> *</p>
<p><label for="password2">Re-Password :</label><input name="password2" type="password" id="password2" size="30" /> *</p>
<p><label for="email">E-Mail :</label><input name="email" type="text" id="email" size="30" /> *</p>
<p><label for="msg">Messenger :</label><input name="msg" type="text" id="msg" size="30" /></p>
<p><label for="web">Website :</label><input name="web" type="text" id="web" size="30" /></p>
<p><label for="sign">Signature :</label><textarea name="sign" id="sign" cols="60" rows="12"></textarea></p>
<p> </p>
<p><label for="code"><img src="../verification.php" alt="" /> :</label><input name="code" type="text" id="code" size="12" /> *กรอกตัวเลขตามฝั่งซ้าย</p>
<p class="sub"><input type="submit" name="submit" class="submit" value=" Regist " /></p>
<p class="sub">* ถ้าไม่รู้จะกรอกอะไร ก็กรอก 4 ช่องแรก กับตัวเลขช่องสุดท้าย</p>
<p class="sub">** กดปุ่ม Regist แค่ครั้งเดียวเท่านั้น</p>
<p class="sub">*** เมื่อสมัครเสร็จ ให้ล็อกอินแล้วแก้ไขข้อมูลส่วนตัว</p>
</fieldset>
</form>
<?php } ?>
<p> </p>
<p class="center"><a href="../">กลับหน้าแรก</a></p>
</div>
</body>
</html>
<?php
} else {
header("Location: ../");
}
$conn -> close();
ob_end_flush();
?>
?>
Warning: mysqli::query() expects parameter 2 to be long, object given in C:\AppServ\www\WebBoard\member\register.php on line 48
ลงทะเบียนไม่ได้ !!! Column count doesn't match value count at row 1
ช่วยทีคับTag : - - - -
Date :
2009-06-09 20:02:11
By :
060414378
View :
2002
Reply :
2
$result = $conn -> query($query,$conn); ตรงนี้แก้เป็น
$result = $conn -> query($query);
แล้วก็ระบบชื่อ column ให้แน่ชัดใน
$query = "INSERT INTO $dbmember VALUES (NULL, '$username', md5('$password'), '$email', '$messenger', '$website', '$signature', '$mdate', '', '')";
คิวรี่ insert บอกว่าป้อนค่า column เกินหรือป้อนค่า column ไม่ครบ
ีควรระบุชื่อ column เพื่อป้องกันความผิดพลาด เช่น
$query = "INSERT INTO $dbmember(id,username,password,email,messager,website,signature,mdate,col1,col2) VALUES (NULL, '$username', md5('$password'), '$email', '$messenger', '$website', '$signature', '$mdate', '', '')";
Date :
2009-06-09 21:39:27
By :
num
ขอบคุณมากครับ
Date :
2009-06-09 22:19:05
By :
060414378
Load balance : Server 04