У меня есть следующие функции:phpmysql вставляет пустые вместо значения
function insert($database, $table, $data_array)
{
# Connect to MySQL server and select database
$mysql_connect = connect_to_database();
mysql_select_db ($database, $mysql_connect);
# Create column and data values for SQL command
foreach ($data_array as $key => $value)
{
$tmp_col[] = $key;
$tmp_dat[] = "'$value'";
}
$columns = join(",", $tmp_col);
$data = join(",", $tmp_dat);
# Create and execute SQL command
$sql = "INSERT INTO ".$table."(".$columns.")VALUES(". $data.");";
$result = mysql_query($sql, $mysql_connect);
# Report SQL error, if one occured, otherwise return result
if(mysql_error($mysql_connect))
{
echo "MySQL Update Error: ".mysql_error($mysql_connect);
$result = "";
}
else
{
return $result;
}
}
Значения в PHP являются следующие:
$content_table = "p_content";
$insert_array['title'] = $title;
$insert_array['content'] = $content;
$insert_array['url'] = $get_source;
$insert_array['video'] = $video;
$insert_array['date'] = $date;
insert(DATABASE, $content_table, $insert_array);
В результате все это добавляет строку с идентификатором (ключ, autoimcrement), url и date. Заголовок, контент и видеоролики пусты. Если я эхо заголовок, я получаю правильный результат, если я var_dump заголовок, я получаю строку (15) «blablablabla», снова правильно.
Теперь, если я установил $ title = "asdf"; он встает правильно. То же самое касается контента и видео.
структура таблицы
ID INT (8) без знака НЕТ ПОИ NULL auto_increment
Название VARCHAR (1000) Да NULL
содержание LONGTEXT Да NULL
видео VARCHAR (3000) Да NULL
url varchar (300) ДА NULL
Датадата YES NULL
Каков результат '$ insert_array'? Попробуйте использовать 'var_dump' или' print_r', чтобы увидеть формат и обеспечить правильный формат SQL. – djthoms
Array ([title] => "asjgalkjhgfdkjas". [Content] => lqejrhgojiehrgakehlgkj [url] => http: //xxxxxxxxxxxxxxxxx.html [video] => [date] => 2013-02-17 00:45:46) Вот как выглядит print_r, и я попытался поместить запрос вставки напрямую без функции, но тот же результат – Alexk
это часть библиотеки, в любом случае вставка отлично работает, если я передам значения каждой переменной – Alexk