php - 将行数组插入到 SQL 表中

标签 php mysql sql

如果您能看一下这段代码,我将不胜感激:

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

$self = $_SERVER['PHP_SELF']; //the $self variable equals this file
$ipaddress = ("$_SERVER[REMOTE_ADDR]"); //the $ipaddress var equals users IP

//connect
$connect = mysql_connect($host,$username,$password) or die('<p class="error">Unable to 
connect to the database server at this time.</p>');
 mysql_select_db($database,$connect) or die('<p class="error">Unable to connect to the 
database at this time.</p>');

//fetch data
$data = htmlspecialchars($_POST['list']);
$comment =  mysql_real_escape_string($_POST['comment']);

$data_lines = explode( "\r\n", $data );
$comment_lines = explode( "\r\n", $comment );
for($i=0;$i<count($data_lines);$i++)
{
$data_fields = explode( ",", $data_lines[$i]);

  $time = time();
  $queryb = "INSERT INTO coords SET tag='$data_fields[0]', guild='$data_fields[1]', name='$data_fields[2]', base='$data_fields[3]', econ='$data_fields[5]', maxecon='$data_fields[6]', location='$data_fields[4]', comment='$comment_lines[$i]', ipaddress='$ipaddress' ,date='$time';";

  // if it succeeds, display message
  if (@mysql_query($queryb))
  {
     echo('<p class="success">Successful posting of ['.$data_fields[3].']!</p>');
  }
  else
  {
     echo('<p class="error">Error could not post ['.$data_fields[3].'] to database!</p>');
}
}//end for loop
}//end if $_POST['add'] statement
?>

如您所见,它从表单提交中获取数据并将它们分解成行。

对于 $data,它会为每个逗号再次分解它。 然后,它会将每个逗号的所有内容插入一个新列,并为每一行插入一个新行。

现在对于 $comment,它应该在每一行的新行上插入它,但实际上并没有这样做。 几天来一直在研究和测试它。

评论栏是一个长度为100的varchar。

所以基本上,除了在每一行的新行上插入 $comment 之外,它完成了我需要它做的所有事情。

最佳答案

尝试将 "\r\n" 替换为 "\n"

关于php - 将行数组插入到 SQL 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1239084/

相关文章:

sql - 如果为真,则强制查询结果

sql - 用于管理键值存储中的时态数据的资源或工具是什么?

php - 延迟页面滚动不起作用,无法找出代码中的问题

javascript - 使内部链接成为外部链接

mysql - 如何通过多个关系过滤 SQL 查询?

java - MySQL 创建过程脚本在 Workbench 中运行但不在 java conn.createStatement().execute 中运行

php - 将普通 SQL 语句转换为准备好的语句

PHP MySQL 追随者系统,如 twitter

php - 简单的联系表格不起作用

MySQL - 仅当列有值时才选择列