You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

PHP代码报unexpected ';'语法错误?第18行bind_param处异常求助

解决PHP语法错误:unexpected ';'

你遇到的unexpected ';'错误,看起来报错在第18行,但实际根源在上一行的if语句里——你少写了一个闭合的右括号

看你这段代码的第一行:

if($stmt = $conn->prepare('INSERT INTO facturas (id_factura, id_depositante, beneficiario, endereço, cell, descriçao, montante) VALUES (?, ?, ?, ?, ?, ?, ?)'){ 

这里的if条件部分,$conn->prepare(...)后面只写了一个左括号(,却没有对应的右括号)来闭合整个if的判断条件。编译器读到后面的{和第18行的代码时,完全无法正确解析语法结构,所以才会在第18行抛出错误提示——这是典型的“错误提示位置滞后于实际错误位置”的情况。

修正后的代码如下:

if($stmt = $conn->prepare('INSERT INTO facturas (id_factura, id_depositante, beneficiario, endereço, cell, descriçao, montante) VALUES (?, ?, ?, ?, ?, ?, ?)')){ 
    $stmt->bind_param('ssssisi', $id_factura, $nome, $_POST['beneficiario'], $_POST['endereço'], $_POST['cell'], $_POST['descriçao'], $_POST['montante']); // 现在语法正常了
    $stmt->execute(); 
}

只需要在prepare()方法的末尾加上一个),让if的条件部分完整闭合,后续代码就能被正确解析了。

小提示:以后遇到这类语法错误,不要只盯着报错行,先检查报错行的前几行,重点看有没有括号、引号未闭合的情况,这类问题很容易导致编译器报错位置跑偏。

内容的提问来源于stack exchange,提问作者José Mauro

火山引擎 最新活动