これは、個人のウェアハウスを作成するためのプログラムです。単独でテストすることは問題ありません。
ユーザーの個人センターがロードされると、プログラムは毎回正常に実行されます。インターフェイスが更新され、if ステートメントが実行されます。 プログラムが再度実行されます。
function _order_given(){
$uid = $this->checked_login();
$sql1="select uid from order_given where uid='$uid'" ;
$usergiven=$this->App->find($sql1);
//現在のユーザー ID が個人ウェアハウス テーブルに存在するかどうかを判断します
$row = mysql_num_rows($usergiven);
if($row==0) //個人ウェアハウス データを作成するテーブルにユーザー ID が存在しません
{
$sqlg1="order_given に挿入(goods_sn,pifa_price,is_on_sale,is_jifen) select Goods_sn,pifa_price ,is_on_sale,is_jifen from gz_goods";
$sqlg2="UPDATE order_given SET uid='$uid' WHERE uid='0'";
$this ->アプリ->クエリ($sqlg1);
>
ディスカッションへの返信 (解決策)
ソファを作って待ちます神様が通り過ぎるように!
単独のテストに問題がないのであれば、共同環境に問題があるということです。
他の場所で原因を見つけて、この機能に固執してみてはいかがでしょうか。
を追加します。 echo $sql1; // 表示したいコンテンツが文字列ではない場合があります。 実行して確認します。SQL は正しいです。チェック ユーザーが正しい uid を取得しなかった可能性があります。int mysql_num_rows (resource $ result)
括弧内 パラメータはリソース ハンドルです$usergiven=$this->App->find($sql1); このステートメントはリソース タイプを返しますか?
クラス全体、クラス内のアプリ、検索プログラムを送信するのが最善です。
更新すると、さらに 1 つのレコードが挿入されます。
問題はここにあるはずです
$sql1="select uid from order_given where uid='$uid'"
$usergiven=$this->App->find($sql1); 🎜> //現在のユーザー ID が個人ウェアハウス テーブルに存在するかどうかを判断します
if($row==0) //ユーザー ID が存在する場合は個人ウェアハウス データを作成しますテーブルに存在しません
$uid、$sql1、$row を出力して確認してください。
問題を解決してくれた皆さん、ありがとう