php mysql插入不工作
因此,我试图做的是一个非常基本和直接的方法,将记录插入mysql数据库 这只是我以前做过几次的事情,但是由于某种原因,这次我没有用它 因此,在下面几行代码中,我将展示我的代码,它基本上执行以下操作 1-检查数据库中是否存在该用户(现有用户是具有相同电子邮件的用户) 2-如果用户存在于数据库中,那么它将发送一个http响应,状态代码为409,这意味着重复 (无论如何,请注意,这非常有效,这意味着成功地连接到了数据库,并且它能够检索任何确切的用户(如果有的话) 3-如果用户不存在,则应将其插入数据库中(问题在于此) 我的代码php mysql插入不工作,php,mysql,insert,Php,Mysql,Insert,因此,我试图做的是一个非常基本和直接的方法,将记录插入mysql数据库 这只是我以前做过几次的事情,但是由于某种原因,这次我没有用它 因此,在下面几行代码中,我将展示我的代码,它基本上执行以下操作 1-检查数据库中是否存在该用户(现有用户是具有相同电子邮件的用户) 2-如果用户存在于数据库中,那么它将发送一个http响应,状态代码为409,这意味着重复 (无论如何,请注意,这非常有效,这意味着成功地连接到了数据库,并且它能够检索任何确切的用户(如果有的话) 3-如果用户不存在,则应将其插入数据库
//Checking if the user exist
$result = mysql_query("SELECT * FROM $table_name WHERE email='".$post_email."'",$con) or die ('Error: '.mysql_error ());
$num_rows = mysql_num_rows($result);
if($num_rows > 0){
// Close Connection
mysql_close($con);
echo "409";
}
else{
mysql_query("INSERT INTO samam_users (username,password,email) VALUES ('ALI','AHMED','amsh-1992@hotmail.com')",$con);
// Select the record
$user_id = mysql_insert_id();
$result = mysql_query("SELECT * FROM $table_name WHERE email='".$post_email."'",$con) or die ('Error: '.mysql_error ());
// Close Connection
mysql_close($con);
echo "200 " . $result['username'];
}
我在谷歌上搜索了这个问题的可能解决方案,但是我遇到的所有类似问题都是因为语法错误
有什么建议吗?提前感谢:)您收到的确切错误消息是什么?请把它复制/粘贴到这里 另外,我看到的唯一奇怪的事情是,您正在使用变量$table_name执行SELECT命令,而在INSERT命令中,您正在硬编码一个表名。。?也许就是这样 插入到samam_用户中 只是把相同的表名变量放在那里? 插入到$table\u名称中
如果有帮助,请告诉我。:) 您收到的确切错误消息是什么?请把它复制/粘贴到这里 另外,我看到的唯一奇怪的事情是,您正在使用变量$table_name执行SELECT命令,而在INSERT命令中,您正在硬编码一个表名。。?也许就是这样 插入到samam_用户中 只是把相同的表名变量放在那里? 插入到$table\u名称中 如果有帮助,请告诉我。:) mysql_error()将为您提供有关查询无法工作的原因的信息—允许您对其进行调试 另外,不要使用mysql,它将被弃用,并且有更好更安全的选项,如MySQLi或PDO mysql_error()将为您提供有关查询无法工作的原因的信息—允许您对其进行调试
也不要使用mysql,它将被弃用,还有更好更安全的选项,比如MySQLi,或者最好是PDO,我想你必须把INSERT命令中的所有值都用双引号而不是单引号引起来,我想你必须把INSERT命令中的所有值都用双引号引起来,而不是单引号引起来,你会遇到什么错误?你做了什么来调试这个?我在代码中没有看到错误检查或处理。您应该使用
mysql\u error()
查看mysql报告的错误。。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO。您还完全了解insert和select语句之间的一个明显区别是表名和字段的显式表达式。也许有什么不对劲?您应该发布表架构。打字错误很常见。你会犯什么错误?你做了什么来调试这个?我在代码中没有看到错误检查或处理。您应该使用mysql\u error()
查看mysql报告的错误。。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO。您还完全了解insert和select语句之间的一个明显区别是表名和字段的显式表达式。也许有什么不对劲?您应该发布表架构。拼写错误非常常见。你的问题提醒我我没有使用die(mysql_error());,使用它,是的,它有帮助。谢谢,@dootzkyyou非常欢迎:)周末愉快@abdel rahman shoman你的问题提醒我没有使用die(mysql_error());,使用它,是的,它有帮助。谢谢,@dootzkyyou非常欢迎:)祝你周末愉快@abdel rahman shomanI刚刚忘记打印错误消息,所以是的,我打印了并解决了问题Thnaks,@JohnnyFaldo我只是忘记打印错误消息,所以是的,我打印了并解决了问题Thnaks,@JohnnyFaldo
$sql = "INSERT INTO samam_users (username,password,email) VALUES ('ALI','AHMED','amsh-1992@hotmail.com')";
if(!mysql_query($sql,$con)) {
die(mysql_error());
}else {
echo 'inserted succesfully';
}