php插入不向数据库添加数据,有什么想法吗?

标签 php mysql database

我是 php 新手,正在制作一个简单的登录系统。 当有人想注册时,他们会转到 register.html,然后是 insert.php。 下面的代码应该将表单中的数据添加到表中,但不会出现在其中。 我怀疑这可能是一行:$sql=INSERT INTO... 唯一出现的是代码底部的 echo 语句 我知道对此可能有一个简单的答案,但我仍然找不到。 谢谢,非常感谢任何帮助!

insert.php 的代码

<?php
$email=$_POST['email'];
$name=$_POST['name'];
$password=$_POST['password'];
$con = mysql_connect("localhost","user","p@ssword");
mysql_select_db("database", $con);
$sql="INSERT INTO table_name (email, name, password)
VALUES ('$email', '$name', '$password')";  
echo"Thank you, you are now registered and can login on our homepage";
mysql_close($con);
?>

再次感谢!

最佳答案

您建立了连接并准备了查询,但实际上并没有执行它!您需要调用mysql_query() ,传入SQL和连接句柄,指示数据库执行语句。

<?php
$email=$_POST['email'];
$name=$_POST['name'];
$password=$_POST['password'];
$con = mysql_connect("localhost","user","p@ssword");
mysql_select_db("database", $con);
$sql="INSERT INTO table_name (email, name, password)
VALUES ('$email', '$name', '$password')";
mysql_query( $sql, $con ) or trigger_error( mysql_error( $con ), E_USER_ERROR );
echo"Thank you, you are now registered and can login on our homepage";
mysql_close($con);
?>

既然您说您是 PHP 的新手(并且可能是一般的数据库开发新手?),让我也为您指出 PHP tutorial on SQL injection 的方向,它解释了它是什么以及为什么您需要防范它 - 例如,您的示例代码很容易受到攻击。

关于php插入不向数据库添加数据,有什么想法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4575599/

相关文章:

php - 在 Laravel 中测试而不通过身份验证

mysql - Max with Having 子句

sql - 如何在 postgresql 中创建类似于 oracle 的只读 View ?

php - 在 <file> 中设置从 DOCUMENT_ROOT 开始的路径

javascript - 如何使用ajax、jquery和php制作一个像facebook一样的聊天框

php - 将多维数组数据插入MySQL DB

php - 在 php mysql 的引导选项卡中使用 ajax 调用加载数据

python - 无法使用存储过程pyodbc SQL SERVER 创建数据库

java - 更新数据库时应用程序崩溃

php - 使用 AJAX 将数组传递给 php 脚本