Php 为什么不是';这不是提交给mysql吗?

Php 为什么不是';这不是提交给mysql吗?,php,mysql,registration,Php,Mysql,Registration,您正在创建一个允许SQL注入的SQL字符串(最糟糕的方式),然后将其分配给变量“$SQL” 就这样。我看不出你以任何其他方式使用那根绳子。您肯定没有将其提交到mysql。您正在创建一个允许SQL注入的SQL字符串(最糟糕的方式),然后将其分配给变量“$SQL” 就这样。我看不出你以任何其他方式使用那根绳子。您肯定没有将其提交到mysql。您必须使用mysql\u query执行查询 <form action="inc/register/register.php" method="post"

您正在创建一个允许SQL注入的SQL字符串(最糟糕的方式),然后将其分配给变量“$SQL”


就这样。我看不出你以任何其他方式使用那根绳子。您肯定没有将其提交到mysql。

您正在创建一个允许SQL注入的SQL字符串(最糟糕的方式),然后将其分配给变量“$SQL”


就这样。我看不出你以任何其他方式使用那根绳子。您肯定没有将其提交到mysql。

您必须使用
mysql\u query
执行查询

<form action="inc/register/register.php" method="post" id="userRegistration">
        <div class="cen"><h5>User Credentials</h5></div>
        <div class="field required">
        Username: <input type="text" name="reguser" tabindex="1" /><br />
        </div>
        <div class="field required">
        Password: <input type="password" name="regpass" tabindex="2" /><br />
        </div>

        <div class="cen"><h5>User Details</h5></div>
        <div class="field required">
        First Name:<input type="text" name="regfirst"  tabindex="3" /><br />
        </div>
        <div class="field required">
        Last Name:<input type="text" name="reglast"  tabindex="4" /><br />
        </div>
        <div class="field required">
        Email:<input type="text" name="regemail" tabindex="5" /><br />
        </div>
        <div class="field required">
        Current Class:<select name="regclassrank"  tabindex="6">
        <option disabled="disabled">Select Class</option>
            <option value="1">Freshman</option>
            <option value="2">Sophomore</option>
            <option value="3">Pre-Junior</option>
            <option value="4">Junior</option>
            <option value="5">Senior</option>
        <option></option>
        </select>
        </div>
        <br />
        <div class="cen"><input type="submit" name="submitUser" /></div>
</form>

必须使用
mysql\u query
执行查询

<form action="inc/register/register.php" method="post" id="userRegistration">
        <div class="cen"><h5>User Credentials</h5></div>
        <div class="field required">
        Username: <input type="text" name="reguser" tabindex="1" /><br />
        </div>
        <div class="field required">
        Password: <input type="password" name="regpass" tabindex="2" /><br />
        </div>

        <div class="cen"><h5>User Details</h5></div>
        <div class="field required">
        First Name:<input type="text" name="regfirst"  tabindex="3" /><br />
        </div>
        <div class="field required">
        Last Name:<input type="text" name="reglast"  tabindex="4" /><br />
        </div>
        <div class="field required">
        Email:<input type="text" name="regemail" tabindex="5" /><br />
        </div>
        <div class="field required">
        Current Class:<select name="regclassrank"  tabindex="6">
        <option disabled="disabled">Select Class</option>
            <option value="1">Freshman</option>
            <option value="2">Sophomore</option>
            <option value="3">Pre-Junior</option>
            <option value="4">Junior</option>
            <option value="5">Senior</option>
        <option></option>
        </select>
        </div>
        <br />
        <div class="cen"><input type="submit" name="submitUser" /></div>
</form>

另一种方法是使用PDO

$sql = "INSERT INTO Student (uname, pass, fname, lname, email, currGrade)                VALUES('$secUser','$secPass','$_POST[regfirst]','$_POST[reglast]','$_POST[regemail]','$_POST[regclassrank]')";

$result = mysql_query($sql);
if ($result) {
    echo "Thanks for signing up!";
} else {
    echo "There was an error processing your request. Please try again.";
}

另一种选择是使用PDO

$sql = "INSERT INTO Student (uname, pass, fname, lname, email, currGrade)                VALUES('$secUser','$secPass','$_POST[regfirst]','$_POST[reglast]','$_POST[regemail]','$_POST[regclassrank]')";

$result = mysql_query($sql);
if ($result) {
    echo "Thanks for signing up!";
} else {
    echo "There was an error processing your request. Please try again.";
}



我需要一些代码来告诉我你的意思和我做错了什么,最新的问题确实表明查询了sql字符串,这现在是一个不同的问题。我需要一些代码来告诉我你的意思和我做错了什么,最新的问题确实表明查询了sql字符串,这现在是一个不同的问题。$\u POST[regfirst]'应该是'${u POST['regfirst']}'。。在插入数据库之前,还应该在post变量上使用mysql\u real\u escape\u string或htmlentities,如下所述,SQL InjectionChange
$result=mysql\u query($SQL)
$result=mysql\u query($sql)或die(mysql\u error())并查看它的内容。“$\u POST[regfirst]”应该是“${u POST['regfirst']}”。。在插入数据库之前,还应该在post变量上使用mysql\u real\u escape\u string或htmlentities,如下所述,SQL InjectionChange
$result=mysql\u query($SQL)
$result=mysql\u query($sql)或die(mysql\u error())并查看它的内容。查看更新的php,它在提交时会自动显示“失败”。您几乎没有击败我。删除我的答案,因为你说了同样的话…:p@user700070您可以使用echo
mysql\u error()
的结果来查看错误,但这很可能是查询中的错误。请看亚当·麦克唐纳在你的问题上发表的评论。这很有效!您能告诉我在哪里添加sql以检查尝试注册的用户名是否已经注册吗?求你了,当然可以。看看。看看更新的php,这会在提交时自动显示“失败”,你几乎没有打败我。删除我的答案,因为你说了同样的话…:p@user700070您可以使用echo
mysql\u error()
的结果来查看错误,但这很可能是查询中的错误。请看亚当·麦克唐纳在你的问题上发表的评论。这很有效!您能告诉我在哪里添加sql以检查尝试注册的用户名是否已经注册吗?求你了,当然可以。看一看。向上投票是因为它显示了如何避免SQL注入,并回答了问题。向上投票是因为它显示了如何避免SQL注入,并回答了问题。