繁体   English   中英

PHP更新功能不起作用

[英]php Update function doesn't work

我正在尝试使用php更新mysql表中的行,但是由于某些原因,它行不通。

我有验证和对变量的一些检查,它们都很好用,当我在php语句中var_dump变量时一切都很好,所以我猜问题出在到MySQL的查询代码中。 如果您能帮助我,我将非常高兴!

这是php部分:

if (isset($_POST['editIdea'])) {
    $editIdea = trim($_POST['editIdea']);
    $editIdea = preg_replace('/[^А–Яа-яА-ЯA-Za-z0-9\. -!?,.@]/u', '', $editIdea);
    $editMoney = trim($_POST['editMoney']);
    $editMoney = preg_replace('/[^0-9\.]/', '', $editMoney);
    $editLong = trim($_POST['editLong']);
    $editLong = preg_replace('/[^А–Яа-яА-ЯA-Za-z0-9\. -!?,.@]/u', '', $editLong);
    $idnow = $_SESSION['id'];
    $error = false;

    if(mb_strlen($editIdea)<3 || mb_strlen($editIdea)>40) {
    echo '<b><p id="wrongname"> *blabla1 </b></p>';
    $error=true;
    }    

    if(mb_strlen($editLong)<9 || mb_strlen($editLong)>400) {
    echo '<b><p id="wronglongtext">*blabla2</b></p>';
    $error=true;
    }

    if($editMoney == false) {
    echo '<b><p id="wrongmoney"> *blabla3 </p> </b>';
    $error=true;
    }              

    if (!$error){
        var_dump($editIdea);
        var_dump($editMoney);
        var_dump($editLong);
       $sql = "UPDATE `Registration` SET `nameidea` = '$editIdea' , `moneyidea` = '$editMoney' , `explainidea`= '$editLong' WHERE `id` = '$idnow' ";
    }
else { 
       echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
    }
}

再说一遍我到目前为止的进展:

查询语句附近的所有var_dumps都运行良好,变量具有我要发送的信息。 php日志中没有错误。 该语句不在其他语句中,因此我看不到任何错误或更多信息。

另外,我正在尝试在行和数据库名称附近使用和不使用“`”。

查询语法的秘密在哪里?

再次感谢您!

**数据库和行的所有名称正确无误,并经过仔细检查。

在$ sql = ...之后添加此代码。

$link = mysqli_connect("localhost", "my_user", "my_password", "db_name");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, $sql)) {
    printf("Error message: %s\n", mysqli_error($link));
}

/* close connection */
mysqli_close($link);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM