MySQL
PHPは常に通常のmysql_query
orで使用されてきましたが、将来的にはormysql_fetch_array
に移行します。Mysqli
私は初心者で、個人的に使用しているので、これらすべてを次のルールで書き直す方法を尋ねることにしました。Mysqli
次のデータベースがあるとしましょう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
なので、誰でも書き換えることができますMysqli
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
ます。これは私のような初心者にとって役立つと信じているからです〜ありがとう