插入语句只是不起作用!(PHP+;MYSQL)
我对插入SQL语句有问题。它什么也不做!(并且没有显示任何错误)。 当我打印$qry时,它看起来很好。 有什么问题吗? 代码如下:插入语句只是不起作用!(PHP+;MYSQL),php,mysql,Php,Mysql,我对插入SQL语句有问题。它什么也不做!(并且没有显示任何错误)。 当我打印$qry时,它看起来很好。 有什么问题吗? 代码如下: <?php include('conn.php'); $result=mysql_query("SET NAMES utf8 COLLATE utf8_general_ci",$mysql_link); $result=mysql_query("SELECT * FROM users where userID=".$_SESSION['IDENT'],$my
<?php
include('conn.php');
$result=mysql_query("SET NAMES utf8 COLLATE utf8_general_ci",$mysql_link);
$result=mysql_query("SELECT * FROM users where userID=".$_SESSION['IDENT'],$mysql_link);
if (!$result)
{
echo "ERROR: error occured in MySQL query.";
}
else
{
if(mysql_num_rows($result)==1)
{
//This will be shown only to registered users.
while ($row=mysql_fetch_array($result))
{
if (($row['userRank']==100)||($row['userRank']==10))
{
$qry="INSERT INTO users (NickName, username, userpass, userEmail, userRank, userOOlamR, userPhone, userPhone2, userStr, userCity, userMikud, userOOlamID) VALUES ('" . $_POST['nname'] . "', '" . $_POST['username'] . "', '" . md5($_POST['userpass']) . "', '" . $_POST['email'] . "', 2, 1, '" . $_POST['cellphone1'] . "', '" . $_POST['cellphone2'] . "', '" . $_POST['street'] . "', '" . $_POST['city'] . "', " . $_POST['mikud'] . ", " . $_POST['oolam'] . ")";
$res=mysql_query($qry ,$mysql_link);
?><div align="center">
<table width="50%" height="20%" style="Border-Style:dotted;Border-Width:1px;Border-Color:a01220;background-color: rgba(190, 200, 230, 0.5);">
<td><div align="Center"><font face="Arial" size="2" color="Black"> SUCCESS!<br></div></td>
</table>
</div><div align="left">
<?php
echo $qry; ?>
</div><?php
}
Else
{
//SECURITY
}
}
}
}
include('cconn.php');
?>
在您的查询中,请在此处输入错误行
$qry=“在用户(昵称、用户名、用户通行证、用户电子邮件、用户排名、用户oolamr、用户电话、用户电话2、用户str、用户城市、用户米库德、用户oolamid)中插入值(“$\u POST['nname']。”、“$\u POST['username']。”、“.”.md5($\u POST['userpass'])、“$\u POST['email']、”2、1、“$\u POST['cellphone2'.”、“$\u POST['cellphone2']“,”、“$”邮政['street']。”、“$”邮政['city']。”、“$”邮政['mikud']。”、“$”邮政['oolam']。”强>
用这个
$nickname=mysql_real_escape_string($_POST['nname']);
$username=mysql_real_escape_string($_POST['username']);
$userpass=md5(mysql_real_escape_string($_POST['userpass']));
$useremail=mysql_real_escape_string($_POST['email']);
$userrank=2;
$useroolamR=1;
$userphone=mysql_real_escape_string($_POST['cellphone1']);
$userphone2=mysql_real_escape_string($_POST['cellphone2']);
$userstr=mysql_real_escape_string($_POST['street']);
$usercity=mysql_real_escape_string($_POST['city']);
$usermikud=$_POST['mikud'];
$useroolamid=$_POST['oolam'];
$qry="INSERT INTO users (NickName, username, userpass, userEmail, userRank, userOOlamR, userPhone, userPhone2, userStr, userCity, userMikud, userOOlamID) VALUES ('$nickname','$username','$userpass','$useremail', $userrank, $useroolamR,'$userphone','$userphone2','$userstr','$usercity',$usermikud,$useroolamid)";
你的缩进风格太糟糕了。将花括号放在与它们所属的控制语句相同的缩进级别上。除此之外,可以优化大型if..else块,并且需要修复代码中的SQL注入问题。您可能想考虑不使用多年不受欢迎的HTML元素(<代码> <代码>)。至于IDID风格,对不起,我是PHP新手。我只是想让它工作,然后继续处理sql注入问题。。。它只是不向数据库添加任何内容……您确定您的输入没有终止查询吗?您可能会因为盲目接受查询中的会话和post数据而受到安全性方面的教训。调查mysql\u real\u逃跑_string@Tzahi:我不明白您期望在这段代码中发生什么,而这段代码没有发生。您提到了“更新SQL”,但我没有看到任何更新。是否无法将记录插入用户表?我是否正确地理解了它正在将insert语句回显到屏幕上,或者它没有达到代码中的那一点?update语句在哪里?好的,谢谢你的回答,它是以这种方式安排的,但仍然不起作用,并且回显它很好,就像以前一样…这不是一个错误,因为“userMikud”和“userOOlamID”在MySQL数据库中被设置为int。现在它显示:Parse error:syntax error,意外的“=”[在$qry=“INSERT INTO users…”行上]如果您可以让我们知道表结构,以便轻松解决问题操作,我已经粘贴了它,没有“$”符号,因此出现错误。现在我把它修好了,它还是原来的…:(