PHP将值插入SQL表

时间:2013-07-27 21:54:13

标签: php sql sql-insert

所以我遇到这个问题,我从POST获取值,但是当插入查询运行时,数据库中没有显示任何内容,但我没有收到任何错误,并且回声工作正常。这是我的文件:

的config.php:

<?php

$host = "000webhost.com";
$user = "a9257*****";
$pass = "*****";
$db = "a9257*****";

$connect = mysql_connect($host, $user, $pass);
mysql_select_db($db, $connect);

?>

这是我的submit.php:

<?php

include "config.php";

$fname = $_POST['fname'];
$lname = $_POST['lname'];
$email = $_POST['email'];
$pass = md5($_POST['pass']);

$insert = 'INSERT INTO tblUsers (userFirstName, userLastName, userEmail, userPassword) VALUES("'.$fname.'","'.$lname.'""'.$email.'","'.$pass.'")';

mysql_query($insert);

echo $fname;
echo $lname;
echo $email;
echo $pass;

?>

任何帮助都将非常有用。

2 个答案:

答案 0 :(得分:2)

$insert = 'INSERT INTO tblUsers (userFirstName, userLastName, userEmail, userPassword) VALUES("'.$fname.'","'.$lname.'","'.$email.'","'.$pass.'")';

您忘记了逗号"'.$lname.'"HERE"'.$email.'"

编辑:转义你的变量,否则你的数据库会被黑客入侵(不会是;);

答案 1 :(得分:2)

您没有错误,因为您没有要求MySQL将它们提供给您!

更改此行:

mysql_query($insert);

进入这个版本:

mysql_query($insert, $connect) or die("MySQL error:". mysql_error($connect));

让我们知道错误,或直接自行解决。

请加入ESCAPING!您的所有值都允许SQL注入攻击!

请不要使用MD5进行密码散列!从PHP 5.5开始,有一些易于使用的密码散列函数,它们也被反向移植到PHP 5.3.6。请添加这个简单的库:https://github.com/ircmaxell/password_compat