未通过php脚本将数据插入mysql数据库
通过php将数据插入mysql数据库未通过php脚本将数据插入mysql数据库,php,mysql,Php,Mysql,通过php将数据插入mysql数据库 <?php session_start(); $username1=$_GET['uname']; $pwd1=$_GET['pwd']; mysql_connect("localhost","root","")or die("cannot connect to my sql"); mysql_select_db("webapp")or die("cannot connect database webap
<?php
session_start();
$username1=$_GET['uname'];
$pwd1=$_GET['pwd'];
mysql_connect("localhost","root","")or die("cannot connect to my sql");
mysql_select_db("webapp")or die("cannot connect database webapp");
// CHANGE QUERY FOR INSERT
$sql="INSERT INTO login (uname, pwd) VALUES ('$username1', '$pwd1')";
//$sql = "INSERT INTO login ".
// "(uname,pwd) ".
//"VALUES ".
//"('$username1','$pwd1')";
// EXECUTE QUERY AND GET RESULT IN $RESULT
$result=mysql_query($sql);
//THIS TIME WE ARE NOT CHECKING $COUNT
if($result)
{
echo "You have successfully Inserted your new record";
}
else
{
echo "Operation Failure please re-attempt";
}
?>
您的代码似乎完全能够按预期运行。其他用户提到使用POST比GET更好。我还要补充一点,您应该对这些输入进行消毒
我已经在自己的服务器上复制了您的代码。它很好用。因此,我建议您重新考虑您没有为根用户()使用密码这一事实。我将再次检查引用表名称和字段是否正确。我会仔细检查写入数据库的权限,并可能将php错误打印到页面上
error_reporting(E_ALL); ini_set('display_errors', 1);
最后,如果尚未启用mysql日志记录,请启用:
检查web服务器日志(取决于您的设置)和服务器日志,查看是否有任何错误输出到日志。你的代码应该可以工作
还可以打印出查询字符串,看看它是否如预期的那样输出:
print($sql); exit;
我想知道你们是否正在屏幕上打印任何东西,或者你们是否真的得到了“你们已经成功地插入了你们的新记录”。当然,这将是第一个出现问题的呼叫端口。也许$result始终为true/包含资源数据,无论是否插入mysql有效。因此,我还将打印出结果资源数组,以查看实际返回的内容。您好,来自您友好的邻居SQL injectionAre您的错误消息触发?通过GET方法提供用户名/密码字段通常是不好的做法,因为它们在URL栏中可见。改为使用POST(它不是加密的,但至少在URL中不可见)@AlienWebguy想说的是在准备好的语句中使用PDO
,而不是mysql.*
函数。。。或mysqli和准备好的语句