致命错误:在第24行的非对象上调用成员函数bind_param()

时间:2013-04-04 07:51:43

标签: php pdo mysqli

美好的一天,

我正在运行一个博客页面,即PHP。我使用PDO作为连接字符串,事情很完美。

我现在最近上传到我的服务器,现在我不得不改为使用mysqli

我不熟悉使用此格式,因为我一直使用PDO

我的编码如下,有人可以协助吗?

<?php
if (isset($_POST['cmdPost']))
 {
        try
        {
        $name = $_POST['txtname'];
        $subj = $_POST['txtsubject'];
        $msg = $_POST['txtmessage'];

            if(empty($name) || empty($subj) || empty($msg))
                throw new Exception("Error - Please fill in input fields!");

        $stmt = $dbh->prepare("INSERT INTO blogs VALUES (name, subject, message)");
        $stmt->bind_param($name, $subj, $msg);

这是我收到错误的地方:

"Fatal error: Call to a member function bind_param() on a non-object in /home/m4230930/public_html/blog.php on line 24"

我坚持了3天,我不确定如何继续。

有人可以帮忙吗? 感谢

1 个答案:

答案 0 :(得分:3)

更改以下行:

 $stmt = $dbh->prepare("INSERT INTO blogs VALUES (name, subject, message)");
    $stmt->bind_param($name, $subj, $msg);

with:

$stmt = $dbh->prepare("INSERT INTO blogs (name, subject, message) VALUES (?,?,?)");
    $stmt->bind_param('sss',$name, $subj, $msg);