のブール値でprepare()を呼び出すと、いくつかの問題が発生しますが、誰も助けませんでした。
Fatal error: Call to a member function bind_param() on boolean in - > nope。
Fatal error: Call to a member function prepare() on null - > nope。
Fatal error: Call to a member function count() on boolean - > nope。
Fatal error Call to a member function prepare() on null - > nope。
fatal error call to a member function prepare() on resource - > nope。
Error: Call to a member function prepare() on a non-object - > nope。致命的なエラー:メンバー関数を呼び出す
接続し、選択が正常に動作しますが、挿入のdidntが仕事をしたい:私は、私はPDOとPHP5とMySQLを使用しています。..
を行っています。
がfunction AddNewUser($nickname, $email)
{
ini_set('display_errors', 1); //DELETE ME
ini_set('expose_php', 1); //DELETE ME
$pdo = EstablishDBCon();
echo "Subscribe user..<br/>";
$sql = "INSERT INTO db.table (nickname, email, insertdate, updatedate) VALUES (:nickname, :email, :insertdate, :updatedate)";
try {
$stmt = $pdo->prepare($sql); //Error at this line
//id?
$stmt->bindParam(':nickname', $nickname, PDO::PARAM_STR);
$stmt->bindParam(':email', $email, PDO::PARAM_STR);
$stmt->bindParam(':insertdate', date("Y-m-d H:i:s"), PDO::PARAM_STR);
$stmt->bindParam(':updatedate', null, PDO::PARAM_NULL);
$stmt->exeute();
CloseDBCon($pdo);
echo "Subscribed!<br/>";
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
}
DBパターンは次のとおりです:私の機能です
|
ID(NOT NULL auto_incをint型)ニックネーム(varchar not null)|電子メール(varchar not null)| insertdate(datetime)| updatedate(datetime)
私はphpを初めて使用しています。このタイプのエラーは分かりません。 私は、エラーがスローされたコード、内側の線をマーク:
$stmt = $pdo->prepare($sql); //Error at this line
誰かが私を助けることができますか?
ありがとうございます!
// EDIT:db_connection.php通称 接続:ここ
<?php
echo 'Establishing MySQL Connection<br/>';
$pdo = null;
$dsn = 'mysql: host=xx; dbname=xx';
$dbUser = 'xx';
$pw = 'xx';
try {
$pdo = new PDO($dsn, $dbUser, $pw);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo 'Connection established.<br/>';
}
catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
return $pdo;
?>
がEstablishDBCon機能である。この場合には
function EstablishDBCon()
{
$pdo = include_once 'db_connection.php';
return $pdo;
}
'EstablishDBCon'関数を表示 – jszobody
あなたのコードはデータベースに接続できませんでしたので、$ pdoは' false'です。エラーログをチェックし、エラーチェックを 'EstablishDBCon'クラスに入れてください。 – aynber
'var_dump($ pdo);'ならば、それはTRUEまたはFALSEのいずれかの値を持つブール型データ型であることがわかります。 'EstablishDBCon()'の '__construct()'が何をしているのか分かりませんが、接続ハンドルを返さない**という面白い気持ちがあります。 – MonkeyZeus