0

私は「データベースに接続しています」です。テーブルにはデータがなく、$result は何もエコーしません。「データベースに接続済み」ですが、エラーは次のとおりです。

SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected

関連する投稿を読みましたが、運がありません。

<?php
include("/directory outside of html/db.php");

try {
    $dbh = new PDO("mysql:host=$host;database=$database", $username, $password);
    /*** echo a message saying we have connected ***/
    echo 'Connected to database';
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//try to insert data
$fname = 'BOB';
$lname = 'JONES';
$email = 'me@mymail.com';
$phone = '410-310-3456';
$resident = TRUE;
$age = '25=30';
$zip = '23456';
$result = FALSE;

  $stmt = $dbh->prepare('INSERT INTO volunteers
  (
   lname,
   fname,
   email,
  )

VALUES
  (
    :lname,
    :fname,
    :email,
  )');

 $result = $stmt->execute(array(
    ':lname' => $lname,
    ':fname' => $fname,
    ':email' => $email,
  ));

echo $result;   

//catch any errors from try()
    }
    catch(PDOException $e)
    {
    echo $e->getMessage();
    }
?>
4

1 に答える 1

3

dbname=の代わりにdatabase=、次のように使用します。

$dbh = new PDO("mysql:host=$host;dbname=$database", $username, $password);

USEまたは、次のように、後で別のデータベースを選択することもできます。

$dbh->query("use newdatabase");
于 2012-11-24T18:32:27.530 に答える