PHP osCommerceの機能を使いMySQLを操作する SELECT文
準備についてはこちら。
テーブルにデータが何件あるかを調べる
<?php
//必要なファイルの読み込み
require('configure.php');
require('database.php');
//DB接続
tep_db_connect() or die('Unable to connect to database server!');
//実行するSQL文
$sql = "select id, name from users";
//データが何件あるかを調べる
$users_query = tep_db_query($sql);
$sum = tep_db_num_rows($users_query);
echo $sum . '件見つかりました<br />';
//DB切断
tep_db_close();
?>
テーブルからデータを取り出す
<?php
require('configure.php');
require('database.php');
tep_db_connect() or die('Unable to connect to database server!');
$sql = "select id, name from users";
//データを取り出す
$users_query = tep_db_query($sql);
while ($users = tep_db_fetch_array($users_query)) {
echo $users['id'] . ',' . $users['name'] . '<br />';
}
tep_db_close();
?>
SQLの条件に変数の値を使いテーブルからデータを取り出す
<?php
require('configure.php');
require('database.php');
tep_db_connect() or die('Unable to connect to database server!');
//実行するSQL文
$pid = 2;
$sql = "select id, name from users" .
" where id = '" . tep_db_input($pid) . "'";
$users_query = tep_db_query($sql);
while ($users = tep_db_fetch_array($users_query)) {
echo $users['id'] . ',' . $users['name'] . '<br />';
}
tep_db_close();
?>
tep_db_input関数を通して、シングルクォーテーション(')で囲むことでSQLインジェクション対策をする。
SQLの条件に入力データの値を使いテーブルからデータを取り出す
<?php
require('configure.php');
require('database.php');
tep_db_connect() or die('Unable to connect to database server!');
//実行するSQL文
$pid = $_POST['pid'];
$sql = "select id, name from users" .
" where id = '" . tep_db_input(tep_db_prepare_input($pid)) . "'";
$users_query = tep_db_query($sql);
while ($users = tep_db_fetch_array($users_query)) {
echo $users['id'] . ',' . $users['name'] . '<br />';
}
tep_db_close();
?>
POSTやGET等のユーザーによる入力データは、tep_db_input関数の前にtep_db_prepare_input関数も通す。
INSERT文の使い方はこちら。