你能帮我解决一下我的剧本吗?
我制作了一个phpmysql脚本,其中从表单中获取用户名和电子邮件,然后通过数据库运行它。如果数据库中存在用户名和电子邮件,则会显示'已存在',否则它将添加到数据库中。
这是我的脚本。脚本正在工作(没有显示任何错误)但是在if else语句中存在一些问题(我认为是语法问题),它只显示already member exist
即使它不在数据库。我很想知道这个问题。我是phpmysql的新手
if(isset($_POST['submit'])) {
$name=mysql_real_escape_string($_GET['name']);
$tes=mysql_real_escape_string($tes);
print $name;
print $tes;
$sel=mysql_query("SELECT * FROM member WHERE email='$tes' AND usrename='$name'");
if(!isset($sel)) {
echo('There is already a member');
}
else
{
//insert
$sql = "INSERT INTO member SET username='$name',email='$tes', date=CURDATE()";
if (@mysql_query($sql)) {
echo('<p>You have been added to database.</p>');
}
}
}
答案 0 :(得分:2)
答案 1 :(得分:2)
在你的mysql_query行上有一个拼写错误:AND usrename应为AND 用户名
答案 2 :(得分:1)
以下部分代码没有按照您的想法执行:
$sel=mysql_query("SELECT * FROM member WHERE email='$tes' AND usrename='$name'");
if(!isset($sel)) {
echo('There is already a member');
}
mysql_query()
,只要查询没有失败(因为SQL中的错误),就会返回一个允许您访问结果集的资源。
即使查询失败,它也会返回false - 意味着变量仍然会被设置。
您可能想要的是尝试从$ set资源中获取一些数据,以查看您的预期(或不是)数据是否存在 - 例如参见mysql_fetch_array()
。
如果您只想检查用户是否存在,则无需select *
查询 - 只需使用select count(*)
,即可查看有多少用户符合您的条件,而无需加载其数据
答案 3 :(得分:1)
你需要添加一些代码..
<?php
$sel=mysql_query("SELECT * FROM member WHERE email='".$tes."' AND usrename="'.$name.'");
$data = mysql_fetch_array($sel)
if($data[0]['email']!=''){
echo 'not in database..';
}
else{
echo 'in database....';
}
?>
答案 4 :(得分:0)
尝试此解决方案
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$mysqli = new mysqli("localhost", "root", "", "articles");
/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
/* Select queries return a resultset */
$con = 1;
$sql = sprintf("SELECT * FROM users WHERE user_name='%s'", mysql_real_escape_string($user));
if ($result = $mysqli->query($sql)) {
printf("Select returned %d rows.\n", $result->num_rows);
if($result->num_rows == 0) {
//TODO :: insert new record
}
else {
//TODO:: USER already exists
}
/* free result set */
$result->close();
}
$mysqli->close();
?>
答案 5 :(得分:0)
<?php
$usename = $_POST['username'];
$pass = $_POST['password'];
$rowcount = mysqli_num_rows($result);
if($rowcount > 0)
{
echo "Usename already exits";
}
else
{
$sql = mysql_query('INSERT INTO `table_name`');
echo (!empty($sql)) ? "User added." : "Error occured.";
}
?>