donglu2523 2018-05-11 23:57 采纳率: 100%
浏览 34
已采纳

准备好的声明会出错

Followed a video and what should work just fine instead is giving me an error. I get the WHOOPS error from !mysqli_stmt_prepare. Maybe there's something I've missed? The video had us remove the values in place of "?"s, but this had never worked for me, so I just put the $var back in. BTW: There are only special characters (apostrophes and quotes) inside of the personal statement when they form is submitted. I thought the statement would escape those no problem. Thanks.

<?php

    header('Refresh:3; url=/Collaborate/');

$link = mysqli_connect("*****","*****","*****", "*****");

if (!$link) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
 }

    $Fname = $_POST['Fname'];

    $Lname = $_POST['Lname'];

    $Website = $_POST['Website'];

    $Phone = $_POST['Phone'];

    $Email = $_POST['Email'];

    $Interests1 = $_POST['Int1'];

    $Interests2 = $_POST['Int2'];

    $Interests3 = $_POST['Int3'];

    $PersonalStatement = $_POST['PersonalStatement'];

    // BAD ESCAPE. BAD!
        // array_walk_recursive($link, $_POST, 'mysqli_real_escape_string' );

    $sql = "INSERT INTO User(Fname, Lname, Website, Phone, Email, Interest1, Interest2, Interest3, PersonalStatement) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?);";

    $stmt = mysqli_stmt_init($link);
    if (!mysqli_stmt_prepare($stmt, "sssssssss", $sql)) {
        echo "WHOOPS!";
    } else {
        mysqli_stmt_bind_param($stmt, $Fname, $Lname, $Website, $Phone, $Email, $Interests1, $Interests2, $Interests3, $PersonalStatement);
        mysqli_stmt_execute($stmt);
        echo "<h2>We got you $Fname!</h2>";

    }
    ?>
  • 写回答

1条回答 默认 最新

  • dongshang1934 2018-05-12 00:34
    关注

    Replace your sql string values with ? . In mysqli_stmt_bind_param() - you need the second argument to be - "sssssssss"

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?