PHP: примеры работы с MySQL |
![]() |
Добавил(а) microsin |
1. Если нужно через SQL-запрос передать содержимое переменной с пробелами, например, чтобы заполнить этой переменной поле в таблице, то нужно заключить строку с пробелами в одинарные кавычки (в таблице 4 поля, первые 2 из них номер строки и datetime): < ?php $param1 = 'Этот_текст_не_вызовет_ошибки_так_как_в_нем_нет_пробелов'; $param2 = 'А этот текст вызовет ошибку при выполнении запроса, если его 2. В поле типа DATETIME вставляем текущее время функцией now() (см. предыдущий пример). Если нужно вставить не текущее время, можно сделать так: ..., '". date("Y-m-d H-i-s", $date). "', ... Этот формат - для типа DATETIME. Если тип данных DATE, то надо использовать "Y-m-d", и если TIME, соответственно "H-i-s". Переменная $date здесь содержит дату/время, определенные функцией mktime. 3. Чтобы не было проблемы с русскоязычным текстом, хранимым в таблице, нужно при создании таблицы указать кодировку utf8_general_ci. Например, чтобы создать таблицу с 4-мя полями, где 2 последних из них должны хранить текст типа "Кириллица (Windows)", нужно выполнить такой SQL-запрос: CREATE TABLE `tabAcronyms` ( `ID` INT UNSIGNED NOT NULL AUTO_INCREMENT , `DateTime` DATETIME NOT NULL , `Acronym` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `Descr` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , PRIMARY KEY ( `ID` ) ); 4. Как сортировать результат запроса по определенному столбцу: "SELECT * FROM $tablename ORDER BY $columnname" Сортировка в обратном порядке (reverse): "SELECT * FROM $tablename ORDER BY $columnname DESC" 5. Как поменять значение записи: < ?php ... $query = "UPDATE `$tablename` SET `Descr` = '$DescriptionEd' WHERE `Acronym` ='$cbAcronymsList' LIMIT 1 ;"; $query_result = mysql_query($query, $link); if (false === $query_result) { echo mysql_error().'< br>'; die ('Error database SQL query< br>'); } ... Здесь применяются переменные: $tablename содержит имя таблицы, в которой меняется запись LIMIT 1 в запросе означает, что меняется только одна запись, удовлетворяющая запросу. В SQL-запросе кавычки, с которых содержатся имена столбцов отличаются (это ВАЖНО!) от тех, в которых передаются значения переменных $DescriptionEd и $cbAcronymsList. 6. Как получить информацию об ошибке в SQL-запросе: < ?php $query_result = mysql_query($query, $link); if (false === $query_result) { echo mysql_errno() . ": " . mysql_error() .'< br>'; die ('< b>Error database SQL query< /b>< br>'); }
|