PHP代码没有执行成功


php code isn't executing successfully

我有一个问题在下面的代码,当我试图更新这个字段,由于喜欢,学校,学校字段我的查询不工作& &;else部分执行,但是当我从查询中删除这个3时,它工作得很好。请帮助我,提前谢谢和PHP &HTML代码如下:-

php

: -

if(isset($_POST['nametb']) && isset($_POST['usernametb']) && isset($_POST['emailtb']) && isset($_POST['confirmtb']) && isset($_POST['abouttb']) && isset($_POST['interesttb']) && isset($_POST['dreamtb']) && isset($_POST['liketb']) && isset($_POST['schooltb']) && isset($_POST['schoolyrtb']) && isset($_POST['occupationtb']) && isset($_POST['occupationyrtb']) && isset($_POST['passwordstb']))
            {
                $nametb = $_POST['nametb'];
                $usernametb = $_POST['usernametb'];
                $emailtb = $_POST['emailtb'];
                $confirmtb = $_POST['confirmtb'];
                $abouttb = $_POST['abouttb'];
                $interesttb = $_POST['interesttb'];
                $dreamtb = $_POST['dreamtb'];
                $liketb = $_POST['liketb'];
                $schooltb = $_POST['schooltb'];
                $schoolyrtb = $_POST['schoolyrtb'];
                $occupationtb = $_POST['occupationtb'];
                $occupationyrtb = $_POST['occupationyrtb'];
                $passwordtb = $_POST['passwordstb'];
                $passwordstb = md5($passwordtb);            
                if(!empty($nametb) && !empty($usernametb)){
                    if(!empty($passwordtb)){
                        $password_get = "SELECT id from user_login WHERE password='$passwordstb'";
                        if($password_get_run = @mysql_query($password_get)){
                            if(mysql_num_rows($password_get_run) > 0){          
                                if(($emailtb != '' && $confirmtb != '-') || ($emailtb != '-' && $confirmtb != '-')){
                                    if($emailtb == $confirmtb){
                                        if(preg_match("/^[A-Z0-9._%-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]'.[A-Z]{2,6}$/i", $emailtb)){
                                            $query = "UPDATE user_info SET `name`='$nametb', `username`='$usernametb', `email`='$emailtb', `about`='$abouttb', `interest`='$interesttb', `dream`='$dreamtb', `like`='$liketb', `school`='$schooltb', `schoolyr`='$schoolyrtb', `occupation`='$occupationtb', `occupationyr`='$occupationyrtb' WHERE id='$user_id'";
                                            if($query_run = @mysql_query($query)){
                                                echo 'info successfully updated';
                                            }
                                            else{
                                                echo 'Failiure in updating info';
                                            }

html:-

<form action="<?php if(isset($current_file)){ echo $current_file; } ?>" method="POST">
<fieldset id="fieldset1">
<legend style="font-family: Ubuntu; font-size:20px;">Info</legend>
<label id="name" title="Name" for="textbox1">Name :</label>
<label id="username" title="UserName" for="textbox2">UserName :</label>
<label id="email" title="Email" for="textbox3">Email :</label>
<label id="confirm" title="Confirm Email" for="textbox4">Confirm :</label>
<br />
<input type="text" id="textbox1" name="nametb" value="<?php if(isset($namedb)){ echo $namedb; } ?>" />
<input type="text" id="textbox2" name="usernametb" value="<?php if(isset($usernamedb)){ echo $usernamedb; } ?>" />
<input type="text" id="textbox3" name="emailtb" value="<?php if(isset($emaildb)){ echo $emaildb; } ?>" />
<input type="text" id="textbox4" name="confirmtb" value="<?php if(isset($confirmdb)){ echo $confirmdb; } ?>" />
<br /><br />
<div id="hrln"><hr /></div>
<label id="about" title="About you" for="textarea1">About :</label>
<label id="interest" title="You are interested in?" for="textarea2">Interested in :</label>
<br />
<textarea id="textarea1" name="abouttb"><?php if(isset($aboutdb)){ echo $aboutdb; } ?></textarea>
<textarea id="textarea2" name="interesttb"><?php if(isset($interestdb)){ echo $interestdb; } ?></textarea>
<br /><br /><br /><br /><br /><hr />
<label id="dream" title="Your Dream?" for="textarea3">Dream :</label>
<label id="like" title="What do you like?" for="textarea4">You like :</label>
<br />
<textarea id="textarea3" name="dreamtb"><?php if(isset($dreamdb)){ echo $dreamdb; } ?></textarea>
<textarea id="textarea4" name="liketb"><?php if(isset($likedb)){ echo $likedb; } ?></textarea>
<br /><br /><br /><br /><br /><hr />
<label id="education" title="Your school" for="textbox5">School | University :</label>
<label id="educationyr" title="Year" for="textbox6">Year :</label>
<br />
<input type="text" name="schooltb" id="textbox5" value="<?php if(isset($schooldb)){ echo $schooldb; } ?>" />
<input type="text" name="schoolyrtb" id="textbox6" value="<?php if(isset($schoolyrdb)){ echo $schoolyrdb; } ?>" />
<br /><br /><hr />
<label id="occupation" title="Occupation" for="textbox7">Occupation :</label>
<label id="occupationyr" title="Year" for="textbox6">Year :</label>
<br />
<input type="text" id="textbox7" name="occupationtb" value="<?php if(isset($occupationdb)){ echo $occupationdb; } ?>" />
<input type="text" id="textbox8" name="occupationyrtb" value="<?php if(isset($occupationyrdb)){ echo $occupationyrdb; } ?>" />
<br /><br /><hr />
<label id="passwords" title="For Security Purpose" for="textbox9">Password :</label>
<input type="password" id="textbox9" name="passwordstb" />
<input type="submit" value="Save Info Modification" name="save" id="button1" />
<input type="submit" value="Cancel Info Modification" name="cancel" id="button2" />
</fieldset>
</form>

你的SQL语法有错误;检查与你的MySQL服务器版本对应的手册,以便在'附近使用正确的语法,如='hey there', school='-', schoolyr='-', occupation='Chitchat CEO', occupatio'在第1行

那么第二个SQL错误是使用了保留SQL关键字作为列名。你需要用反引号括起来:

 SELECT ...   `like` = '$var'

再次注意反引号。

如果您不知道哪些列名可能是特殊名称,那么将它们全部引用是最安全的。

$ schoololyrtb和occupation之间缺少逗号:, schoolyr='$schoolyrtb' occupation='$occupationtb' .

但是您也可以使用

来查找这类错误
    else{
       echo 'Failiure in updating info, error: ' . mysql_error();
    }