|
|
|
| Здравствуйте. У меня новая проблема.
Есть 2 варианта кода:
1-й вариант
$result = mysql_query ("SELECT ID FROM posts WHERE title=' Привет мир '",$db);
$myrow = mysql_fetch_array($result);
echo $myrow["ID"];
|
2-й вариант
$w11 = ' Привет мир ';
$result = mysql_query ("SELECT ID FROM posts WHERE title=$w11",$db);
$myrow = mysql_fetch_array($result);
echo $myrow["ID"];
|
При этом первый вариант работает а второй - нет. Помогите пожалуйста найти ошибку... | |
|
|
|
|
|
|
|
для: Bozhko
(07.09.2010 в 18:45)
| | А вы подставьте вместо переменной ее значние, и, я надеюсь, сможете увидеть ошибку:
"SELECT ID FROM posts WHERE title= Привет мир " | |
|
|
|
|
|
|
|
для: neadekvat
(07.09.2010 в 18:52)
| | В первом варианте кода так и сделано и все работает, а во втором нет. Но нужно то подставлять переменную..... | |
|
|
|
|
|
|
|
для: Bozhko
(07.09.2010 в 18:57)
| | кавычек нет | |
|
|
|
|
|
|
|
для: Bozhko
(07.09.2010 в 18:45)
| | Кстати если в переменной содержится число то работает и второй вариант
$w11 = '321';
$result = mysql_query ("SELECT ID FROM posts WHERE title=$w11",$db);
$myrow = mysql_fetch_array($result);
echo $myrow["ID"];
|
Наверное дело в кодировке.... А как ее изменить? БД в UTF-8. | |
|
|
|
|
|
|
|
для: Bozhko
(07.09.2010 в 19:02)
| | строки в кавычки, числа не обязательно, а имена полей и таблицы в обратные кавычки
вот так
SELECT `ID` FROM `posts` WHERE `title` = '".$w11."' | |
|
|
|
|
|
|
|
для: Bozhko
(07.09.2010 в 19:02)
| | Исходя из каких данный и опираясь на какую логику вы решили, что дело в кодировке? К тому же, вам два раза сказали прямым текстом, в чем причина.
А числа и надо отправлять без кавычек, при условии, что эти числа должны оказаться в полях с численным типом. | |
|
|
|
|
|
|
|
для: Bozhko
(07.09.2010 в 18:45)
| | Сделайте так
<?php
error_reporting(E_ALL); // уровень ошибок
$w11 = ' Привет мир ';
$query = "SELECT ID FROM posts WHERE title=$w11";
echo $query; // увидите, что в запросе
$result = mysql_query ($query,$db);
if(!$result) echo mysql_error(); // увидите ошибку, если запрос вернул ошибку
$myrow = mysql_fetch_array($result);
echo $myrow["ID"];
?>
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(07.09.2010 в 19:02)
| | Спасибо всем ребята. Сутки просидел, уже нервничать начал.... Пока на форум не написал, а тут совмесными усилиями....
Вобщем переменную в кавычки
SELECT ID FROM posts WHERE title='$w11'
|
и перед запросом
ini_set('default_charset','UTF-8');
|
Вроде все получилось. Спасибо еще раз. | |
|
|
|
|
|
|
|
для: Bozhko
(07.09.2010 в 19:15)
| | А теперь уберите ini_set. Неужели не работает?.. | |
|
|
|
|
|
|
|
для: neadekvat
(07.09.2010 в 19:17)
| | Работает и без ini_set. | |
|
|
|
|
|
|
|
для: Bozhko
(07.09.2010 в 19:19)
| | Так есть ли смысл его использовать в данном случаи? | |
|
|
|
|
|
|
|
для: neadekvat
(07.09.2010 в 19:22)
| | Думал что дело в кодировке поэтому и тулил туда и ini_set и iconv а т.к. дело в другом то и ненужные функции нужно удалить. Еще раз спасибо за помощь. | |
|
|
|
|
|
|
|
для: Bozhko
(07.09.2010 в 19:32)
| | >Думал...
автор: nikita2206 (07.09.2010 в 18:58) письмо автору
для: Bozhko (07.09.2010 в 18:57)
кавычек нет | |
|
|
|