0

MySQL通常のPHPで常に使用されてきましたが、将来mysql_query的になるため、mysql_fetch_array現在はに移行しています。PDO: Prepared Statement

私は初心者で、個人的に使用しているので、これらすべてをルールで書き直す方法を尋ねることにしました。PDO: Prepared Statement

次のデータベースがあるとしましょうusers(id,name,job,number)

CREATE TABLE `users` (
  `id` bigint(20) unsigned NOT NULL auto_increment,
  `name` varchar(255) default '0',
  `job` varchar(255) default NULL,
  `number` varchar(255) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

INSERT INTO `users` VALUES (1, 'John', 'Plumber', '555');
INSERT INTO `users` VALUES (2, 'Iva', 'Reporter', '666');
INSERT INTO `users` VALUES (3, 'Robert', 'Writer', '777');
INSERT INTO `users` VALUES (4, 'Irin', 'Writer', '888');

今ではそれらは通常のMysqlのものなので、誰でも書き直すことができますPDO: Prepared Statement

1)接続

$DB["host"]   = "localhost";
$DB["dbName"] = "dbname";
$DB["user"]   = "dbuser";
$DB["pass"]   = "dbpass";
$link = mysql_connect($DB["host"],$DB["user"],$DB["pass"]) or die("Connection Failed");
mysql_select_db($DB["dbName"]);

2)データベースの正確なエントリから呼び出す

$sql = "select * from users where job='Plumber'";
$reg = mysql_query($sql) or die(mysql_error());
$aee = mysql_fetch_array($reg);

echo $aee[name]; // should gives name John

3)データベース結果からの呼び出し

$qry="select * from users where job='Writer'";
$result=mysql_query($qry) or die($qry);

if(mysql_num_rows($result)=='0'){

echo "No results"; // if not found any for this conditional job

}else{
while($line=mysql_fetch_array($result)){

echo $line[name]."<br>"; // should gives Robert <br> Irin

}
}

これは私のような初心者に役立つと信じているので、それは本当に私を大いに助け、次の新しい質問を開くことを思いとどまらせinsert,update,deleteます〜ありがとう

4

1 に答える 1

2

PDOマニュアルは、ほとんどすべての状況でPDOを学習するための優れたリソースです。準備されたステートメントは、最初は奇妙で難しいように見えるかもしれませんが、いくつかの基本をマスターすると、それらを愛するようになります...

PDO SELECT..。

$db = new PDO("mysql:host=localhost;dbname=db", "user", "password");

$query = "SELECT * FROM users WHERE name = " . $db->quote($name);

$result = $db->query($query);

while($row = $result->fetch(PDO::FETCH_ASSOC)) {
    print_r($row);
}

$result->closeCursor();

PDO INSERT..。

$query = $db->prepare("INSERT INTO users (first_name, last_name, email) VALUES (:fname, :lname, :email)");

// bind params
$query->bindParam(":fname", $firstName);
$query->bindParam(":lname", $lastName);
$query->bindParam(":email", $email);

// execute the query
$query->execute();

最後の(単純な)例にも関わらず、1つのクエリで複数の値INSERTに対してクエリを実行する方法を学ぶことをお勧めします。多くのシングルを実行するよりも高速であるだけでなく、優れたプラクティスと見なされています。INSERT

于 2013-02-04T15:31:08.077 に答える