[PHP-users 13736] 関数の戻り値の使い方
tamura
php-users@php.gr.jp
Tue, 04 Mar 2003 17:02:28 +0900
田村です。まだ、つまづいております。今回もよろしくお願いいたします。
以下のような sqltemplate.inc ファイル
function updatesql($svname, $dbname, $tbname, $usname, $psname) {
$cnt=0;
$conn = mysql_connect($svname, $usname, $psname);
$result=mysql_list_fields($dbname, $tbname, $conn);
while ($cnt<mysql_num_fields($result)){
$fdname[$cnt]=mysql_fieldname($result, $cnt);
$cnt++;
}
$sql="UPDATE ".$tbname." SET ".$fdname[1]."='$".$fdname[1]."'";
for ($i=2; $i<=$cnt-1; $i++) {
$sql.=", ".$fdname[$i]."='$".$fdname[$i]."'";
}
$sql.=" WHERE ".$fdname[0]."=$".$fdname[0]; //$fdname[0]は、int型
$result = mysql_query($sql);
return $result;
}
を、別ファイルに作成する。
それを下記のように、呼んだのですが
include ("./sqltemplate.inc");
$conn = mysql_connect($svname, $usname, $psname);
mysql_select_db($dbname);
$sql=updatesql($svname, $dbname, $tbname, $usname, $psname);
//(ここで、確認する)
$result = mysql_query($sql);
//(ここで、確認する)で行ったことは、echo $sql; です。結果は、
(例えば、以下のように)
UPDATE m_category SET category_code='$category_code', category_name='$category_name',
category_explain='$category_explain' WHERE category_id=$category_id
と、表示され、$sqlは、作成されているようです。しかし、
$result = mysql_query($sql);
が、有効になりません。
どうかご教示ください。