私は非常にうんざりな状況に陥りました。私は何が起こっているのか把握できません。"fetch_assoc"の値がif-statement、PHPで変わる?
if (isset($matched_row['id']))
へ:私が代わりに(他に何も変更せずに)行を変更した場合
$conn->query("UPDATE teachers SET active=1 WHERE id=".$next_teacher_id);
$list_of_arr=$conn->query("SELECT * FROM teachers WHERE id>=".$next_teacher_id);
$k = $list_of_arr->fetch_assoc();
$choice_array=unserialize($k['arr']);
foreach ($choice_array as $j) {
$matched_query=$conn->query("SELECT * FROM students WHERE taken_by='' AND name LIKE '%".$j."%'");
$matched_row=$matched_query->fetch_assoc();
if (isset($matched_row['id'])) {
$qu="UPDATE students SET taken_by='".$k['name']."' WHERE id=".$matched_row['id'];
echo($qu);
$conn->query($qu);
break;
}
$k=$list_of_arr->fetch_assoc();
}
これは、しかしUPDATE students SET taken_by='' WHERE id=19
をエコーします:
私は、次のコードを持っている
if (isset($k['name']))
私は今のエコーを取得:
if(true)
私は出力として得る::私はと言えば、対照実験として
UPDATE students SET taken_by='John Smith' WHERE id=
を
UPDATE students SET taken_by='John Smith' WHERE id=
ように、2つの異なる方法私は私の出力を実際に切り替えるかどうか、そして両方をクエリ変数に入れることはできません。ここで何が起こっているのですか?どんな助けでも大歓迎です。
WHERE id = '"。$ next_teacher_id。"' ' –
これはちょうど私にこれを与えます: 'UPDATE students SET taken_by =' John Smith 'WHERE id =' ''出力として。どういうわけか、値の1つがnullになっているようです。しかし、私は2つの変数が互いにどのように影響しているかは分かりません。 – rb612
あなたは間違った構文でクエリを書いています。 –