gpt4 book ai didi

php - 无法使用PHP将所有数据插入MySQL

转载 作者:搜寻专家 更新时间:2023-10-31 21:29:07 25 4
gpt4 key购买 nike

标题并没有完全公开。现在我正在开发实验室软件。在这里,所有单独的测试名称及其详细信息都在一个表中(比如名称“test_info”),为这些测试生成的所有账单都在另一个表中(比如名称“bill_info”)以及何时插入测试报告我'将它存储在另一个表中(比如名称'rpt_info')。

有一些组测试是测试的集合。我创建了一个名为“group”的列,如果该值为 null,则它们不在任何组测试之下,当它们是一个值(这是一个测试的名称)时,意味着该测试在该组测试之下。

现在,看看是什么迫使我在这里提出问题。当需要输入测试报告的值时,我只是这样调用它们-

           <?php
$gtsql = "SELECT * FROM `bill_info` where `test_id` = '" . $pid."' and `group`='y'";
$reslt = mysql_query($gtsql);
while ($data = mysql_fetch_assoc($reslt))
{
$test_inf= "SELECT * FROM `test_info` where `group` = '". $data["pr_name"]."'";
$test_qr= mysql_query($test_inf);
$k = 1;
while ($test = mysql_fetch_assoc($test_qr)) {

echo '<tr><td width="80"></td><td align="left"> <input name="name" id="name" style="border:none; background: transparent;" value="' . $test["name"] . '" readonly/></td><td width="144" align="left"> <INPUT name="result" id="result" /></td><td width="125" align="left"><input name="unit" id="unit" style="border:none; background: transparent;" value="' . $test["unit"] . '" readonly/></td><td align="left">';
$ref= $test["ref_range"];
$ref2= $test["ref_range2"];
$ref3= $test["ref_range3"];
if($ref=!"")
{ echo '<br/><input name="ref_range" id="ref_range" style="border:none; background: transparent;" value="'.$test["ref_range"].'" readonly/>';}
if ($ref2=!"")
{ echo '<br/><input name="ref_range2" id="ref_range2" style="border:none; background: transparent;" value="'.$test["ref_range2"].'" readonly/>';} else { echo "";}
if ($ref3=!"")
{ echo '<br/><input name="ref_range3" id="ref_range3" style="border:none; background: transparent;" value="'.$test["ref_range3"].'" readonly/>';} else { echo "";};

'
</td></tr>
';
$k++;
}
}


?>

这工作正常并在屏幕上向用户完美显示所有测试及其信息。但是当我尝试将这些数据插入“rpt_info”表时,问题就出现了。我试过“while”、“for”但无法将值插入表中。这是我现在正在运行的插入代码。还有一件事要分享给你的 friend ,为了获得完美的测试数量,我在另一个表(名称为“sell”)中做了一行,我在其中放置了个人测试(账单)记录。名为“num”的行。我计算“num”值以找出我想要运行代码的次数。 $num 当我回显那个时就完美了。但每次我只插入一行。

 <?php
if(isset($_POST['posted']))
{

$prsql = "SELECT SUM(num) FROM `sell` where `test_id`='".$_POST['test_id']."'";
$prrs = mysql_query($prsql);
$datas = mysql_fetch_assoc($prrs);
$num= $datas['SUM(num)'];
$i=1;
while ($i < $num)
{
$str_tst = "INSERT INTO `rpt_info` (`pt_id`,`test_id`,`result`,`name`,`unit`,`ref_range`, `ref_range2`, `ref_range3`, `rcv_date`, `dlv_date`, `age`, `test_cat`)VALUES ( '" . $_POST['pt_id'] . "', '" . $_POST['test_id'] . "', '" . $_POST['result'] . "', '" . $_POST['name'] . "', '" . $_POST['unit'] . "', '" . $_POST['ref_range'] . "', '" . $_POST['ref_range2'] . "', '" . $_POST['ref_range3'] . "', '" . $_POST['rcv_date']. "', '" . $_POST['dlv_date'] . "', '" . $_POST['pt_age'] . "', '" . $_POST['test_cat']. "')";

$i++;

}
?>

<?php
if(mysql_query($str_tst))
{
echo '................';
}
?>

有没有人可以帮我解决这个问题?

这是我的第一个问题,可能我无法向大家解释清楚。如果您想更清楚地了解问题,请随时向我提问。

最佳答案

1) 你的 $num= $datas['SUM(num)'];不存在。尝试

$prsql = "SELECT SUM(num) as SumNum FROM `sell` where `test_id`='".$_POST['test_id']."'";

您可以使用 $num= $datas['SumNum']; 获取它

2) $str_tst是一个简单的字符串,您不需要告诉它执行查询。您使用 mysql_query($str_tst) or die mysql_error(); 执行它.使用

while ($i < $num)
{
$str_tst = "INSERT INTO `rpt_info` (`pt_id`,`test_id`,`result`,`name`,`unit`,`ref_range`, `ref_range2`, `ref_range3`, `rcv_date`, `dlv_date`, `age`, `test_cat`)VALUES ( '" . $_POST['pt_id'] . "', '" . $_POST['test_id'] . "', '" . $_POST['result'] . "', '" . $_POST['name'] . "', '" . $_POST['unit'] . "', '" . $_POST['ref_range'] . "', '" . $_POST['ref_range2'] . "', '" . $_POST['ref_range3'] . "', '" . $_POST['rcv_date']. "', '" . $_POST['dlv_date'] . "', '" . $_POST['pt_age'] . "', '" . $_POST['test_cat']. "')";
mysql_query($str_tst) or die mysql_error(); // Each loop execute the query
$i++;

}

3) 你的 while循环不正确。我想你少了一个插页。你从 1 开始,然后你去,例如,到 10,所以你插入 9 行,因为你正在使用 <而不是 <=

建议:停止使用 mysql_。请换成mysqli_或PDO

关于php - 无法使用PHP将所有数据插入MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32111856/

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