2014-01-08 2 views
0

Мое строковое поле не будет вставляться в мою базу данных.PHP: String не будет вставляться в базу данных MySQL

(Столбцы follower_username и follow_username они VARCHAR (200) не вставляются) Значения: следящие и следующие значения столбца вводят работу.

mysql_query("INSERT INTO `follow` (`follower`, `following`, `follower_username`, `following_username`) VALUES ('".$userid."', '".$get_user_id."', '".$username."', '".$get_user."')"); 

Струны:

$get_user = mysql_real_escape_string($row['username']); 
$get_user_id = (int)mysql_real_escape_string($row['id']); 
$userid = (int)mysql_real_escape_string($user_data['id']); 
$username = mysql_real_escape_string($user_data['username']); 

Я понятия не имею, что делать, является ли это PHP или сама база данных: S

Заранее спасибо :)

+0

Вы уверены, что строки назначены? Какие переменные не вставлены? Что произойдет, если вы «отгоните» их самостоятельно? Отображаются ли правильные значения? – BenM

+0

Я полагаю, вы читали о mysql_query() в статье в блоге или что-то в этом роде. Просто перейдите к [странице руководства] (http://php.net/mysql_query), прокрутите вниз предупреждение «не используйте это расширение» и проверьте приведенные примеры; они оба предоставляют подробную информацию о том, как выполнять проверку ошибок. –

+0

Есть ли еще код? В частности, где вы получаете массив user_data? – Braunson

ответ

0

Попробуйте добавить mysql_error, чтобы узнать, какая у него ошибка: вы можете исправить ошибку:

mysql_query("INSERT INTO `follow` (`follower`, `following`, `follower_username`, 
`following_username`) VALUES ('".$userid."', '".$get_user_id."', '".$username."', 
'".$get_user."')") or die (mysql_error()); 
+0

Нет вывода mysql_error –

+0

@ Billy_2lgit_2qt: У вас есть сообщение об ошибках? – Dev01

0

Для отладки и простой работы я рекомендовал вам хранить SQL-запрос в переменной.

$query = "INSERT INTO `follow` (`follower`, `following`, `follower_username`, `following_username`) VALUES ('".$userid."', '".$get_user_id."', '".$username."', '".$get_user."')"; 
echo "DEBUG:".$query; 
mysql_query($query); 
0

Попробуйте это:

$objQuery = mysql_query("INSERT INTO `follow` (`follower`, `following`, `follower_username`, 
    `following_username`) VALUES ($userid, $get_user_id, '".$username."', 
    '".$get_user."')") or die (mysql_error()); 

if(!$objQuery){ 
echo "something went wrong!"; 
} 
+0

@ Billy_2lgit_2qt: вы можете попробовать это? –

+0

Это не сработало –

+0

Прочитайте мои комментарии, которые были даны по вашему первоначальному вопросу. @ Billy_2lgit_2qt –

0

попробовать это:

mysql_query("INSERT INTO follow (`follower`, `following`, `follower_username`, `following_username`) VALUES ('".$userid."', '".$get_user_id."', '".$username."', '".$get_user."')"); 

не одинарные кавычки имя таблицы.

1

Вы можете попробовать вторя заявление MySQL непосредственно перед mysql_query, т.е.

echo "INSERT INTO `follow` (`follower`, `following`, `follower_username`, `following_username`) VALUES ('".$userid."', '".$get_user_id."', '".$username."', '".$get_user."')"; 

и проверить, если строка то, что вы ожидали бы. Если это то, что вы ожидали, попробуйте вручную скопировать строку и вставить ее в консоль mysql и посмотреть, не возникли ли какие-либо ошибки.

Смежные вопросы