mysqli_stmt_bind_param($proc, "iss$is", $respondent_id, $ip, $browser, $qStr1);
$qStr1
$q1、$q2 などのテキストが含まれているにもかかわらず、問題を引き起こしているのはこれだけです。$qStr1
コード内で単一の変数として扱われていると思います。テキストを抽出して使用する必要があると思いますが、方法がわからない?
以下の回答を使用して、以下を変更および追加しました。
$qStr = '';
$markStr = '';
for($i=1; $i<11; $i++)
{
$qStr .= 'q'.$i.'';
$qStr1 .= '$q'.$i.'';
$markStr .= '?';
$is .= 'i';
if($i < 10)
{
$qStr .= ', ';
$qStr1 .= ', ';
$markStr .= ', ';
}
}
$proc = mysqli_prepare($link, "INSERT INTO tresults (respondent_id, ip, browser, $qStr) VALUES (?, ?, ?, $markStr);");
mysqli_stmt_bind_param($proc, "iss$is", $respondent_id, $ip, $browser, $qStr1);
今、私は問題を抱えて$qStr1
います-これがループして正しい出力$q1、$q2などを提供しているにもかかわらず-手動で$q1、$q2などをmysqli_stmt_bind_param
andに配置すると、DBに保存されません残りはそのままにして、loop
正常に動作します。
次のコードがあります。
$proc = mysqli_prepare($link, "INSERT INTO tresults (respondent_id, ip, browser, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);");
mysqli_stmt_bind_param($proc, "issiiiiiiiiii", $respondent_id, $ip, $browser, $q1, $q2, $q3, $q4, $q5, $q6, $q7, $q8, $q9, $q10);
mysqli_stmt_execute($proc);
私が達成しようとしているのは、そのコードに を自動的に配置し、そこに正しい数を配置するloop
ことです (少なくともそうだと思います) 。q1, q2, q3, q4, q5 etc.
?
質問は明確で、誰でも支援できますか?