【发布时间】:2015-02-26 15:58:04
【问题描述】:
我运行以下代码将新用户添加到数据库表中,但此代码无法正常工作。
<?php include ("database/configdb.php");//configuration file of pdo to database connection
if(isset($_GET['uname'])&&isset($_GET['pass'])&&isset($_GET['email'])&&isset($_GET['fname'])&&isset($_GET['lname'])){
//check username
$sql="SELECT COUNT(*) FROM users WHERE uname=:username";
$rslt=$connect->prepare($sql);
$rslt->execute(array(":username"=>$_GET['uname']));
$num=$rslt->fetchColumn();
if ($num==1) { echo "exist"; exit();}
else{
//end check username
$sql = "INSERT INTO users (fname,lname,uname,password,email,avatar,bdate,rdate,degree,popularity,sex,lock,lang,country,phone) VALUES(:fname1,:lname1,:uname1,:pass1,:email1,'','','','','','','','','','')";
$result=$connect->prepare($sql);
$query=$result->execute(array(
":fname1"=>$_GET['fname'],
":lname1"=>$_GET['lname'],
":uname1"=>$_GET['uname'],
":pass1"=>$_GET['pass'],
":email1"=>$_GET['email']
));
if ($query){
echo "ok"; exit();
}
else{
echo "error"; exit();
}
}
}
else
{
echo "invalid";
}
?>
当我运行此代码时,打印的结果是“错误”。 如何解决?谢谢...
【问题讨论】:
-
直接在数据库上运行查询时出现什么错误?
-
您假设成功而没有考虑可能的失败。这意味着,您不会在任何地方检查错误。
-
而不是一个无用的固定“错误”消息,为什么不让数据库告诉你发生了什么? php.net/manual/en/pdo.errorinfo.php
标签: php mysql database pdo mysqli