首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Mysqli准备语句-返回False,但是为什么?

Mysqli准备语句-返回False,但是为什么?
EN

Stack Overflow用户
提问于 2009-08-02 20:48:36
回答 2查看 28.5K关注 0票数 23

我有一个函数,它根据要插入到该列中的列名和值的关联数组以及一个表名(一个简单的字符串)生成一个准备好的INSERT语句:

代码语言:javascript
复制
function insert ($param, $table) {
        $sqlString = "INSERT INTO $table (".implode(', ',array_keys($param)).') VALUES ('.str_repeat('?, ', (count($param) - 1)).'?)';
        if ($statement = $this->conn->prepare($sqlString)):
            $parameters = array_merge(array($this->bindParams($param), $param));
            call_user_func_array(array($statement, 'bind_param', $parameters));
            if (!$statement->execute()):
                die('Error! '.$statement->error());
            endif;
            $statement->close();
            return true;
        else:
            die("Could Not Run Statement");
        endif;
    }

我的问题是$this-> conn ->prepare (它是一个类的一部分,conn是一个新的mysqli对象,没有任何问题)返回false,但没有给我一个原因!

以下是为prepare语句构建的示例$sqlString:

代码语言:javascript
复制
INSERT INTO students (PhoneNumber, FirstName, MiddleInit, LastName, Email, Password, SignupType, Active, SignupDate) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)

任何人都能看到这个参数化语句的问题吗?准备函数返回false的原因是什么?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1219809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档