0

MySQLPHPは常に通常のmysql_queryorで使用されてきましたが、将来的には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ます。これは私のような初心者にとって役立つと信じているからです〜ありがとう

4

1 に答える 1

1

私の答えは、「ある未加工の API から別の API に書き換える方法」ではなく、「どのようになる傾向があるか」というトピックに関するものです。

1) 接続

$params["db"]   = "dbname";
$params["user"] = "dbuser";
$params["pass"] = "dbpass";
$db = new DB($params);

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

echo $db->getOne("select name from users where job='Plumber'");

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

$data = $db->getAll("select * from users where job='Writer'");
// assuming the following code inside of PHP template
?>
<? if(!$data): ?>
    No results
<? else: ?>
<ul>
    <? foreach($data as $line): ?>
    <li><?=$line['name']?></li>
    <? endforeach ?>
</ul>
<? endif ?>
于 2013-02-03T13:40:18.983 に答える