[PHP-users 30843] Re: PHPからDBを操作してデータを格納する際の処理について

yusuke ito ito.ysk @ gmail.com
2006年 11月 29日 (水) 20:21:06 JST


伊東です

06/11/29 に syokora<ryuubi_1109 @ yahoo.co.jp> さんは書きました:
> それ以外に、PHPからSELECTなどを使って、同じ値を持ったレ
> コードを探し出し、該当したらUPDATE なかったらINSERTとい
> うことが出来ないかと思っているのですが・・・

そのまま書いたらいいんでは?
というか、皆さんが「あなたの期待した」回答を出せないのは、
あなたの提示した例があまりに漠然としすぎだからじゃないかと。

$data = array(4,5,6);
$hot = false;
foreach($data as $d){
	$sql = "SELECT キー FROM B WHERE A=$d OR B=$d OR C=$d OR D=$d OR E=$d
OR F=$d LIMIT 1"; //テーブル名とカラム名両方にB?
	$row = query($sql); //何使ってるかわからん、とにかく1レコード取得
	if($row){
		$hit = true;
		break;
	}
}
if($hit){
	$sql = "UPDATE B SET 〜 WHERE キー=〜"; //$dataと$rowで適切にカラムにセット
}else{
	$sql = "INSERT INTO B 〜"; //$dataをINSERT
}
exec($sql); //何使ってるかわからん

こんなんですか?


PHP-users メーリングリストの案内