查询是从PHPMYAdmin插入的,而不是从PHP插入的
我正在编写一个php代码,以便在论坛值中插入表单值查询是从PHPMYAdmin插入的,而不是从PHP插入的,php,mysql,Php,Mysql,我正在编写一个php代码,以便在论坛值中插入表单值 $dbServer = mysql_connect("localhost" , "root", "") ; if(!$dbServer) die ("Unable to connect"); mysql_select_db("kfumWonder"); $name= $_POST['name'] ; $password= md5($_POST['password']); $email= $_POST['email'] ; $major=
$dbServer = mysql_connect("localhost" , "root", "") ;
if(!$dbServer) die ("Unable to connect");
mysql_select_db("kfumWonder");
$name= $_POST['name'] ;
$password= md5($_POST['password']);
$email= $_POST['email'] ;
$major= $_POST['major'] ;
$dateOfBirth=$_POST['dateOfBirth'] ;
$webSite = $_POST['website'];
$joinDate= date("Y m d") ;
$query = "INSERT INTO user (name, password, email, major, dob, website, join_date)
Values ('$name', '$password', '$email', '$major', '$dateOfBirth',
'$webSite' , '$joinDate')" ;
//echo $query ;
$result = mysql_query($query) ;
if (! $result )
echo " no results " ;
当我获取打印的查询并在PHPMyAdmin中运行它时,这工作得非常好,但是当我运行这段代码时,没有任何事情发生如果你没有像mysql\u real\u escape\u字符串($\u POST['blah')这样的神奇引号,那么你的POST变量需要被转义。即使启用了magic quotes,您也应该去掉斜杠,或者关闭cofig中的magic quotes,并使用mysql\u real\u escape\u字符串重新转义它们。或者使用PDO为您处理数据库条目 此外,要查看错误是什么,您可以这样调用查询:
if (!$result = mysql_query($query)) echo mysql_error();
开始显示错误:
echo mysql_error()代码>此外,您的代码容易受到SQL注入的攻击,您应该在上线之前解决此问题:没有人真正知道,为什么您的代码在服务器上运行会出错。因此,您必须询问服务器,而不是服务器<代码>$result=mysql\u query($query)或触发器\u错误(mysql\u query().“”.$query)代码>$result=mysql\u query($query)或die(mysql\u error());看看关于#1,SQL是一种不区分大小写的语言。