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
和剩下的使用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.
自动放入该代码中,并将正确的数字?
放入其中。
问题是否清楚,有人可以提供帮助吗?