ホームページ > バックエンド開発 > PHPチュートリアル > データベースに接続できない理由を教えてください

データベースに接続できない理由を教えてください

WBOY
リリース: 2016-06-23 13:01:57
オリジナル
1031 人が閲覧しました



/*
PDO 属性は次のように導入されます:
1. PDO は MySQL データベースに接続します
new PDO("mysql:host=localhost;dbname=db_demo","root"," "); デフォルト これは長い接続ではありません。データベースへの長い接続を使用したい場合は、最後に次のパラメータを追加する必要があります:
new PDO("mysql:host=localhost;dbname=db_demo", "root","","array(PDO::ATTR_PERSISTENT => ; true) ");
2. 一般的な PDO メソッドとそのアプリケーション
PDO::query() は主に、記録された結果が返される操作、特に SELECT に使用されます。操作
PDO::exec() は主に結果のないコレクションに使用されます 返される操作 (INSERT、UPDATE、その他の操作など)
PDO::lastInsertId() は最後の挿入操作を返します。主キーの列の型は最後に自動インクリメントされたものですID
PDOStatement::fetch() はレコードを取得するために使用されます
PDOStatement ::fetchAll() はすべてのレコード セットを 1 つにまとめるために使用されます
);
var_dump($pdo);
if($pdo->exec() "insert into username(id,member_user) value(4,'123456')")){
echo "挿入に成功しました";
echo $ pdo->lastinsertid()
}else{
echo "挿入に失敗しました";
}
//クエリ操作
$pdo = new PDO("mysql:host=localhost;dbname=regi","root"," qwert123");
$rs = $pdo -> query("select * from num");
while($row = $rs -> fetch()){
print_r($row);
}

? & gt;






返信先ディスカッション(解決策)

 $pdo=new PDO("mysql:host=localhost;dbname=regi","root","qwert123");
ログイン後にコピー

データベース接続操作を 1 回だけ実行すると、正常になりますか?

このエラー メッセージは、データベースに接続できないことを意味するものではありません。 クエリ結果が空で、結果の有無を判断せずに直接fetch()で取得するとエラーになります。

このエラー メッセージは、データベースに接続できないことを意味するものではありません。

クエリ結果が空で、結果の有無を判断せずに直接fetch()で取得するとエラーになります。


訂正、テーブルが存在しない、フィールドが存在しないなど、クエリステートメントが間違っています。

挿入の失敗は、SQL ステートメントのエラーが原因である可能性があります。テーブルが存在しないか、フィールドが存在しないか、ID 4 ですでに存在しているため挿入できない可能性があります。
クエリには num テーブルがないことが必要です


これは私のデータベースです
pbo は初めてです、答えてくれてありがとう 長い時間が経ってもわかりません


用这个吧~
class Pdo{
private $instance;
public function __construct()
{
$dns = 'mysql:host=localhost;dbname=数据库;charset=utf8';
$user = 'root';
$pwd = '123456';
$this->instance = new PDO($dns, $user, $pwd,
array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8',
PDO::ATTR_AUTOCOMMIT=>0));
}
public function __destruct()
{
// TODO: __destruct() メソッドを実装します。
$this->instance = null;
}
public function query($sql){
return $this->instance->query($sql)->fetchAll();
}
}

用这个吧~
class Pdo{
private $instance;
public function __construct()
{
$dns = 'mysql:host=localhost;dbname=数据库;charset=utf8';
$user = 'root';
$pwd = '123456';
$this->instance = new PDO($dns, $user, $pwd,
array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8',
PDO::ATTR_AUTOCOMMIT=>0));
}
public function __destruct()
{
// TODO: __destruct() メソッドを実装します。
$this->instance = null;
}
public function query($sql){
return $this->instance->query($sql)->fetchAll();
}
}






不行
致命的エラー: E:awangzhanshejiilfolregreg1.php のクラス Pdo をオンライン 4 で再宣言できません

我是加在这个里面不行

?>



これ我的データ库
pbo新手、谢谢大神回答
弄了很久都没弄明白



楼主、你用的这个データ库查看工具是什么名字呀

クラス Pdo を再宣言できません

重复



これは私たちのデータ库です
pbo新手、谢谢大神回答
很久都不弄明白

楼主、你用のこのデータ库查看ツールとは何ですかNavicat

问题既解决、感谢Novolee的回答案、就是これ问题!!我新手
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート