php - 在php中使用explode函数后循环

标签 php mysql sql

我正在尝试使用爆炸函数分割字符串后将数据循环到数据库中。我的代码中似乎存在一些错误,但作为初学者,我目前似乎无法找到它。

如有任何建议,我们将不胜感激。

一旦这个方法起作用,我就必须在同一个循环中再包含 3 个值。如果有一个在同一代码中循环使用另一个值的示例,我们将不胜感激。

$con = mysql_connect('localhost','root','');
if (!$con) {
  die('Could not connect: ' . mysql_error());
}
mysql_select_db("cmsd", $con);
$pieces = explode(" ", $_POST['fname']);
$number = count($pieces); 
echo $number;
for ($i=0; $i<=$number; $i++) {
    $itno = $pieces[$i]; 
    $sql="INSERT INTO nametable (firstname, lastname) VALUES ('$itno', $_POST['lname'])";
}
if (!mysql_query($sql,$con)) {
    die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)

最佳答案

您必须为像这样的另一个变量创建更多的 for 循环。并且在 for 循环中仅检查 $i<$number而不是$i<=$number因为,如果数组的大小为 5,那么您试图从数组中获取第 6 个值,这将向您显示错误。

$con = mysql_connect('localhost','root','');
if (!$con) {
  die('Could not connect: ' . mysql_error());
}
mysql_select_db("cmsd", $con);
$pieces = explode(" ", $_POST['fname']);
$pieces2 = explode(" ", $_POST['sname']);
$number = count($pieces); 
$number2 = count($pieces2); 
echo $number;
for ($i=0; $i<$number; $i++) {
for ($j=0; $j<$number; $j++) {
    $itno = $pieces[$i]; 
    sql="INSERT INTO nametable (firstname, lastname) VALUES ('".$itno."', '".$_POST['lname']."')";
    if (!mysql_query($sql,$con)) {
         die('Error: ' . mysql_error());
     }
     else
          echo "1 record added";
}
}
mysql_close($con)

关于php - 在php中使用explode函数后循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21452883/

相关文章:

php - 通过 POST 或 GET 发送大量数据

php - 在 HTML5 中显示之前加载内容

mysql - SQL - 通过第三个表中的公共(public)链接连接三个表

python - 如何转义字符串中的 '?

javascript - 在 php 循环中写入 javascript 数组时如何将新行转换为实际\n

php - 安装 aws php sdk - 意外变量

python - 数据库访问生成器是否返回使用它们时添加的新行?

Php MySQL 更新表 textarea html

MySQL 查询(求和)在 VB 中不起作用

sql - Postgres 合并为空的 JSONB 数组