gpt4 book ai didi

php - while 循环中的 mysql_query

转载 作者:搜寻专家 更新时间:2023-10-30 23:22:53 25 4
gpt4 key购买 nike

我正在尝试执行我在这种页面中有一个 html 表单:

Name: <input type="text" id="namebox" value="" name="fields[]" /> <br />
Position: <input type="text" id="positionbox" value="" name="fields[]" /> <br />

<input type="hidden" name="createcard">
<input type="submit" value="Create">

.. 和其他 3 个字段。我通过 POST 将这 5 个表单字段传递到文件 process.php,该文件具有以下功能,可将数组元素插入 mysql 数据库。

if(isset($_POST['createcard'])){
$this->procCreateCardtheme1();
..
..

function procCreateCardtheme1(){
global $session;

$cardData = $_POST['fields'];
$username=$session->username;
$sno=1;
echo count($cardData);
while($sno < count($cardData))
{
$v=$cardData[$sno];
echo $v;
mysql_query("INSERT INTO carddata VALUES ('$username', $sno, '$v', 1)");
$sno++;
}

现在,上面的 echo 语句返回预期的输出,即五个左右的字段。但是 mysql_query 只执行一次。它只存储数据库中的第一个条目,仅此而已。即使重新提交表格也无济于事。它只是存储在数据库中的一个条目。有什么想法吗?

最佳答案

carddata 表中的username 是否有唯一约束?这将导致第二次插入失败。

要调试它,您应该在程序中添加一些错误检查:

mysql_query("INSERT INTO carddata VALUES ('$username', $sno, '$v', 1)")
or trigger_error(mysql_error());

您可能还需要使用 mysql_real_escape_string如果字符串数据可以包含引号,以避免语法错误或可能的 SQL 注入(inject)漏洞。

关于php - while 循环中的 mysql_query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4018543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com