php - prepeared statments 中的 php bind_param 使程序停止而没有错误或警告
问题描述
我编写了这个准备好的语句来将数据从 php 发送到我的本地主机
$stmt = $conn->prepare("INSERT INTO info VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
if ( false===$stmt ) {echo '<script type="text/javascript">alert("false prepeared statment '.htmlspecialchars($conn->error).'");</script>';}
try{
$rc = $stmt->bind_param("ssssssssssssssssssss", 'f', '$name1', '$name2', '$name3', '$lastname', '$mother', '$bornplace',
'$phone', '$empTitle', '$school', '$lastDegree', '$lastSpeciality', '$lastUniversity', '$lastCollege',
'$subject', '$nextSpeciality', '$nextSubSpeciality', '$nextDepartment', '$nextCollege', '$nextUniversity');
}catch(Exception $er){
echo('err: '.$er->getMessage());
}
$rc = $stmt->execute();
if ( false===$rc ) {echo '<script type="text/javascript">alert("false excute '.htmlspecialchars($stmt->error).'");</script>';}
$stmt->close();
$conn->close();
当我运行程序时,执行在到达 bind_param 行时“冻结”,没有错误消息或警告。当我注释 bind_param 行时,程序执行不会“冻结”并继续下一行,并给我错误消息“没有为准备语句中的参数提供数据”。请注意,我将变量名称(在 bind_param 中)设置为字符串,以确保问题不在于变量的值。try catch 语句也不起作用。此外,当我在(准备)行中输入一些错误时,它会向我显示错误。但是当我在 (bind_param) 行中输入错误时,它就会一直冻结!请注意 localhost 正常显示所有行中的所有错误。但是当涉及到这个 bind_param 时,它并没有按预期工作。我尝试了一个包含 3 个变量的不同表格,
解决方案
推荐阅读
- ios - 干净构建后找不到 myProjectName-Swift.h
- php - RecyclerView 没有加载数据
- postgresql - 有没有办法在 pgadmin 中插入驼峰表名?
- java - 如何在没有 xml 的情况下配置 Ehcache 3 + spring boot + java config?
- javascript - 检查自上次点击后的时间是否大于 2 秒
- c# - 标签中的文本被截断
- python - numpy linalg中的特征值排序
- database - 将备用时间戳格式插入 Hive
- javascript - 如何将两个 JavaScript 合并为一个
- php - 从 php 检索数据到 jquery 并将其插入 DataTable