とりあえずの備忘録

主にパソコンやインターネットに関するメモ

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文の使い方はこちら。