Нашел ошибку: mysql_query($query) or die(mysql_error()); был за пределами цикла. Но возник неприятный баг - не добавляются русские символы. БД и файл скрипта в utf-8. UPD: попробовал просто записать русские символы через переменную и просто в поле, все норм:
function SaveToDB($res, $sQuery)
{
/* Переменные для соединения с базой данных */
$hostname = "localhost";
$username = "root";
$password = "12345678";
$dbName = "parsing";
/* создать соединение */
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
if (!mysql_select_db($dbName))
{
if (mysql_errno() == 1049)
{
mysql_query("CREATE DATABASE ".$dbName." CHARACTER SET utf8 COLLATE utf8_general_ci;") or die(mysql_error());
mysql_select_db($dbName);
}
}
mysql_query("CREATE TABLE IF NOT EXISTS `parsinginfo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`textquery` varchar(255) NOT NULL,
`data` varchar(255) NOT NULL,
`date` varchar(255) NOT NULL,
PRIMARY KEY (`id`))");
mysql_query("SET NAMES 'utf8'");
foreach ($res as $elkis)
{
$x = $elkis['product_id'];
$name = $elkis['name'];
$prices = $elkis['price'];
$descript = $elkis['descript'];
$data = "Мама мыла раму"; //эта запись норм добавляется в БД
//echo "".$elkis['product_id']."-<b>".$elkis['name']."</b>-".$elkis['descript']."<br>";
$query = "INSERT INTO parsinginfo (`title`, `product_id`, `price`, `description`, `data`, `date`) VALUES ('Мама', '$x', '$prices', '$descript', '$data', NOW())";
mysql_query($query) or die(mysql_error());
}
}