[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysql insert
Gufon
При добавление записей в БД через php my admin все норм, а когда через insert то тогда записывается в базу вот так "???????????" (я это смотрел в php my admin(просто могут возникнуть некоторые вопросы)).



Спустя 4 минуты, 15 секунд (28.01.2011 - 21:53) Snus написал(а):
Gufon
Какая кодировка сервера? Какая кодировка БД?

Спустя 5 минут, 46 секунд (28.01.2011 - 21:59) Gufon написал(а):
везде поставиил cp1251_general_ci безрезультатно

Спустя 1 минута, 2 секунды (28.01.2011 - 22:00) Snus написал(а):
Gufon
Нужно смотреть конфиги мускула. Кинь свой код соединения с БД.

Спустя 3 минуты, 32 секунды (28.01.2011 - 22:04) Gufon написал(а):
<?php
include('include/db.php');
include('include/pass.php');
$par = $_POST['par'];
$name = $_POST['name'];
$krat_img = $_POST['krat_img'];
$krat = $_POST['krat'];
$razv = $_POST['razv'];
$result = mysql_query("INSERT INTO content (name,img,krat,vive,cat) VALUES ('$name','kul','$krat','$razv','$par')") or die(mysql_error());
?>

db.php
<?php 
session_start();
$db = mysql_connect("localhost","danil","291297dan") or die(mysql_error());
mysql_select_db("guf",$db) or die(mysql_error());
?>

а pass.php отвечает за пароль к админке т.е. смотрит если в куках не записано значение то перекидывает на страницу авторизации

Спустя 3 минуты, 26 секунд (28.01.2011 - 22:07) Snus написал(а):
Попробуй так

<?php 
session_start();
$db = mysql_connect("localhost","danil","291297dan") or die(mysql_error());
mysql_select_db("guf",$db) or die(mysql_error());
mysql_set_charset('cp1251');
?>

Спустя 2 минуты, 6 секунд (28.01.2011 - 22:09) Gufon написал(а):
Ура, спс!!!! заработало. А то эти иностранные хостинги, ну их.

Спустя 55 секунд (28.01.2011 - 22:10) Snus написал(а):
Gufon
А вообще тебе как совет - используй UTF8 пока не поздно smile.gif

Спустя 2 минуты, 39 секунд (28.01.2011 - 22:13) Gufon написал(а):
а чего utf< чем он лучше я всегда был против него???

Спустя 6 минут, 33 секунды (28.01.2011 - 22:19) Snus написал(а):
Gufon
Почитай, например, тут -> сюда
Долго объяснять.

А чем ты можешь обосновать свое недовольство к utf8?

Спустя 56 секунд (28.01.2011 - 22:20) Gufon написал(а):
C ним всегда проблемы

Спустя 1 минута, 13 секунд (28.01.2011 - 22:21) Snus написал(а):
Gufon
Какие? smile.gif Кстати, в статье про "такие проблемы" сказано smile.gif это никак не связано с кодировкой smile.gif PS: у меня никогда не было проблем с utf8

Спустя 1 минута, 27 секунд (28.01.2011 - 22:23) Gufon написал(а):
Но значит переезжаю это вроде не долго просто все страницы и две таблички в базе поменять

Спустя 1 минута, 18 секунд (28.01.2011 - 22:24) Snus написал(а):
Gufon
И это правильно.

Спустя 2 минуты, 22 секунды (28.01.2011 - 22:27) Gufon написал(а):
а я базы отсавил в сp(просто еще не дошел до них) а страницу в ютф и выводится норм, но не знаю как добавляться будет.

Спустя 9 минут (28.01.2011 - 22:36) Gufon написал(а):
базы пока что еще в cp__1251_general и вот mysql_set_charset('cp1251'); не удалял и все норм страницы в ютф-все, у меня так на одном сайте работает 50 на 50 базы в ютф но при выборке я указывал windows-1251. А это нормально или всетаки базы тоже в ютф перефодить???


Спустя 2 минуты, 16 секунд (28.01.2011 - 22:38) Snus написал(а):
Gufon
Если БД у тебя будет в кодировке utf8, то тебе нужно будет писать
mysql_set_charset('utf8');

Спустя 20 минут, 53 секунды (28.01.2011 - 22:59) Winston написал(а):
Немного не по теме. Если поставить error_reporting(E_ALL); То при такой записи:
Цитата (Gufon @ 28.01.2011 - 21:04)

$par = $_POST['par'];
$name = $_POST['name'];

Вылезет куча нотисов типа: Notice: Undefined index: par и т.д (не инициированная переменная).
Потому пишите хотя бы так:
$par = isset($_POST['par']) ? $_POST['par'] : NULL;

Такой запрос может быть обломан если вставить некоторые спецсиволы
$result = mysql_query("INSERT INTO  content  (name,img,krat,vive,cat) VALUES ('$name','kul','$krat','$razv','$par')") or die(mysql_error());

Лучше так писать:

$result = mysql_query("INSERT INTO `content` (`name`, `img`, `krat`, `vive`, `cat`) VALUES ('". mysql_real_escape_string($name) ."', 'kul',
'"
. mysql_real_escape_string($krat) ."',
'"
. mysql_real_escape_string($razv) ."',
'"
. mysql_real_escape_string($par) ."')") or die(mysql_error());

Спустя 1 минута, 25 секунд (28.01.2011 - 23:00) Gufon написал(а):
к этой странице доступ идет с той на которрой все это есть. Так что небудет

Спустя 49 секунд (28.01.2011 - 23:01) Gufon написал(а):
а по поводу обломки я поставлю хтмспециалчарпс и т п

Спустя 40 секунд (28.01.2011 - 23:02) Gufon написал(а):
да и это админка к которой доступ имею ток я

Спустя 2 минуты, 15 секунд (28.01.2011 - 23:04) Snus написал(а):
PHPprogramer
$par = isset($_POST['par']) ? $_POST['par'] : NULL;

Когда проверка на NOT NULL, можно и покороче писать
if(!empty($_POST['par'])) $par = $_POST['par']);

Спустя 8 секунд (28.01.2011 - 23:04) Winston написал(а):
Цитата (Gufon @ 28.01.2011 - 22:00)
к этой странице доступ идет с той на которрой все это есть.

Так зачем повторно определять ?
Цитата (Gufon @ 28.01.2011 - 22:01)
а по поводу обломки я поставлю хтмспециалчарпс и т п

Это на выходе. А что будет если при вставке попадет такой текст ?
$name = "O'Reilly";
$result = mysql_query("INSERT INTO content (name) VALUES ('$name')") or die(mysql_error());

Спустя 13 минут, 8 секунд (28.01.2011 - 23:17) Gufon написал(а):
нет это будет перед запросом

Спустя 8 минут, 43 секунды (28.01.2011 - 23:26) Gufon написал(а):
Админы, не баньте))
Я решил не создовать новую тему из-за этой мелочи сейчас делаю загрузку изображения, а как указать путь для загрузку не папку где скрипт а в корневой есть папка

Спустя 2 минуты, 13 секунд (28.01.2011 - 23:28) Winston написал(а):
Цитата (Gufon @ 28.01.2011 - 22:17)
нет это будет перед запросом

Почитай что пишет twin насчет htmlspecialchars перед вставкой в БД. Они будут искаженные и поиск будет не корректным.

Спустя 1 минута, 15 секунд (28.01.2011 - 23:29) Gufon написал(а):
пофиг это я заполняю я такого писать не буду))) ну а так конечно нужно подумать насчет этого, нужно мне это или нет

Спустя 1 минута, 55 секунд (28.01.2011 - 23:31) Winston написал(а):
Цитата (Gufon @ 28.01.2011 - 22:26)
как указать путь для загрузку не папку где скрипт а в корневой есть папка

move_uploaded_file($file, "./uploads_dir/");

Спустя 4 минуты, 33 секунды (28.01.2011 - 23:36) Snus написал(а):
Gufon
$_SERVER['DOCUMENT_ROOT'];

Спустя 4 минуты, 3 секунды (28.01.2011 - 23:40) Gufon написал(а):
нет меня интересует как указать путь который лежит в корневом каталоге. Пробывал через точку не помогает

Спустя 2 минуты, 48 секунд (28.01.2011 - 23:43) Snus написал(а):
Gufon
$_SERVER['DOCUMENT_ROOT'];

Спустя 2 минуты, 27 секунд (28.01.2011 - 23:45) Gufon написал(а):
а извиняюсь он же к корневой дериктории ведет, забыл

Спустя 4 минуты, 45 секунд (28.01.2011 - 23:50) Gufon написал(а):
странно прописал так
$korn = $_SERVER['DOCUMENT_ROOT'];
$newFile = $korn."guf.org.ua/".$_FILES['uploadfile']['name'];
move_uploaded_file($_FILES['uploadfile']['tmp_name'],$newFile);
echo $newFile;

и файла нет, даже на папку поставил 777

Спустя 1 минута, 53 секунды (28.01.2011 - 23:52) Snus написал(а):
Gufon
guf.org.ua
- это у тебя название директории такое?

Спустя 53 секунды (28.01.2011 - 23:53) Gufon написал(а):
идет корневой каталог а в нем папка guf.org.ua, просто там домен добавил и создается папка для него.

Спустя 11 минут, 32 секунды (29.01.2011 - 00:04) Winston написал(а):
Gufon
Посмотри примеры, как загружать изображения.

Спустя 5 минут, 35 секунд (29.01.2011 - 00:10) Gufon написал(а):
да как загружать я знаю если я указую другое место то норм
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.