Мне нужно вставить несколько строк из текстовой области вставки в каждую строку базы данных. но теперь вставьте все строки в один ряд, как я могу это сделать? Также я хочу, чтобы эхо закончил линию, и эхо, если линия выходит с предупреждением
Моя область ввода текста:
line1
line2
line3
line4
line5
Я хочу вставить, как это
id url
1 line1
2 line2
3 line3
4 line4
5 line5
Это мой insert.php
<html><body>
<h1>indian mp3 Database: indianmp3</h1>
<form action="post.php" method="post">
Firstname:<textarea name="url" id="term" cols="40" rows="10"></textarea><br><br>
Category: <select name="cat_id">
<option value="1">cat1</option>
<option value="2">cat2</option>
<option value="3">cat3</option>
</select>
<input type="submit"/>
</form>
</body></html>
Это мой post.php
<html><body>
<?php
$host="localhost";
$user=" ";
$pass=" ";
$database=" ";
$con=mysql_connect($host, $user, $pass) or die("Could not connect to host.");
mysql_set_charset('UTF8', $con);
if(!$con) {
die('Could not connect: '.mysql_error());
}
if(isset($_POST['cat_id'])) {
$cat_it=(int)$_POST['cat_id'];
$url=$_POST[url];
mysql_select_db($database, $con) or die("Could not find database.");
$sql="INSERT INTO link (url, cat_id) VALUES ('$url' , '$cat_it')";
}
if(!mysql_query($sql, $con)) {
die('Error: '.mysql_error());
}
echo "inserted all line";
mysql_close($con)
?>
</body></html>
проблема здесь в том, что вы делаете одну вставку со всей url data
,
1) сначала определите каждое значение URL из текстовой области и создайте его массив, используя команду разнесения '.'
или же specific keyword
,
2) цикл по размеру массива URL для вставки в таблицу.
при вставке ошибки проверки на объект mysql в случае ошибки происходит выход, в противном случае продолжайте вставку, пока вся вставка не будет завершена.
Предположим, у вас есть все URL в $url= $_POST[url];
с '\n'
отделить потом:
$urlArr = explode("\n",$url);
for($i=0;$i< sizeof($urlArr);i++){
$sql="INSERT INTO link (url, cat_id) VALUES ('$url[i]' , '$cat_it')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}}
и, пожалуйста, начните использовать PDO or mysqli.
Других решений пока нет …