如果您能看一下这段代码,我将不胜感激:
<?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/