此代码记录某个目录中的所有文件名。文件名将存储到特定的数据库表中。这是我的代码
<?php
$user_dir = "fetz/";
$table_name = "fetz";
$connect = mysqli_connect("localhost", "root", "", "mdrsusr");
if(!$connect) {die();}
foreach (glob("$user_dir*.txt") as $filename) {
echo $filename."<br />";
$query = $connect->prepare("INSERT INTO ? SET img_link='?'");
$query->bind_param("ss", $table_name, $filename); //this part *
if(!$query) {die();}
$query->execute();
}
$query->close();
$connect->close();
?>
* - 此部分有错误说明
Fatal error: Call to a member function bind_param() on a non-object
答案 0 :(得分:1)
您的查询中存在语法错误,导致您没有有效的mysqli语句对象。
INSERT INTO ? SET img_link='?'
应该是(您不需要参数周围的引号)
INSERT INTO ? SET img_link=?
答案 1 :(得分:0)
好的,我发现了我的错误。此
$query->bind_param("ss", $table_name, $filename);
导致错误,因此我删除$table_name
和额外的s
并成为
$query->bind_param("s", $filename);
这实际上是它的魔力 我也用了第一个答案。