А ты написал класс для работы с MySQL, прежде чем с ним работать? Напиши, подключи
require("class.mysql.php");
а уж потом работай...
Есть класс mysqli для работы с MySQL. Или можно использовать DB PEAR (http://pear.php.net)
Рабочий код:
$DB_HOST='localhost';
$DB_LOGIN='root';
$DB_PASSW='11111';
$DB_DATABASE='db';
$connect=mysql_connect($DB_HOST,$DB_LOGIN, $DB_PASSW);
if ($connect){
echo 'Соединение с MySQL установлено<br>';}
else {
echo 'Невозможно подключиться к MySQL<br>';}
Нерабочий код:
$DB_HOST='localhost';
$DB_LOGIN='root';
$DB_PASSW='11111';
$DB_DATABASE='db';
$conn=new mysql($DB_HOST,$DB_LOGIN, $DB_PASSW);
if ($conn){
echo 'Соединение с MySQL установлено<br>';}
else {
echo 'Невозможно подключиться к MySQL<br>';}
В браузере выдает ошибку:
Fatal error: Class 'mysql' not found in ...
Здраввтсвуй подскажите
Как проверить включена ли поддержка MySQL5.0 в пхп 5
Я импортировала базу пхп портала в mysql. но установка не запускается.
поэтому хочу проверить правильно ли работает пхп с mysql
Cоздай файл с таким кодом:
<?php
phpinfo();
?>
и запусти его. Посмотри, там должен быть блок "mysql". Если такой блок есть, то поддержка MySQL включена, если нет - то, соответственно нет. Надо будет включить поддержку MySQL
Функция session_id() возвращает строку - поэтому при составлении запроса мы должны использовать одинарные кавычки, чтобы указать MySQL, что это строка:
SELECT email FROM users WHERE surname='Иванов';
Если использовать твой вариант
$sql="SELECT * FROM basket WHERE customer=' session_id() ' ";
то как PHP догадается о том, что session_id() - это функция, которую надо выполнить, а результат выполнения подставить в запрос? Переменную PHP "опознает" по знаку $:
$surname = "Иванов";
$sql="SELECT * FROM basket WHERE customer='$surname'";
Хорошо, про кавычки понятно, что сам запрос на строку в одинарных, переменная в двойных, то есть ... customer=' "session_id()" ', а зачем тогда еще и точки перед и после session_id() ?
В новых версиях MySQL (начиная с 4.1.0) изменился порядок работы с национальными кодировками, поэтому старый код может вызывать появление в таблице базы данных знаков вопроса '????????' вместо русского текста. Для того, чтобы этого не возникало, в начало PHP-скрипта, после установки соединения с базой данных, следует поместить следующие строки:
Русские символы в таблице отображались то как иероглифы, то как знаки вопросов, пока я в настройках подключения не поставил кодировку binary. Русские символы отображаются ка надо. Однако когда я там в SQL-редакторе делаю запрос, результат выдаёт мне иероглифы вместо русских символов. MySQL версия 5.1.
Может кто сталкивался с такой пролемой?
Для определения количества товаров в корзине есть запрос:
$sql="SELECT count(*) FROM basket WHERRE customer=' " . session_id() ." ' ";
Мне не совсем понятно почему count(*), а не просто звездочка и зачем перед session_id() ставить одинарную кавычку, потом двойную, а потом ещё и точку? Почему этот запрос нельзя написать в таком виде:
$sql="SELECT * FROM basket WHERRE customer=' session_id() ' ";
Второй вид выдаёт ошибку.
Здравствуйте.
Может кто сталкивался с такой проблемой.
Настройки для соединения с БД выношу в отдельный файл, который цепляю includе'ом - всё хорошо, всё работает. Вот рабочий код:
<?php
$DB_DATABASE = "XXXX";
$DB_HOST = "XXXXX.mysql.masterhost.ru";
$DB_USER = "XXXXX";
$DB_PASS = "YYYY";
$connect=mysql_connect($DB_HOST,$DB_USER,$DB_PASS);
?>
Потом решил это всё собрать в функцию:
<?php
function conn(){
$DB_DATABASE = "XXXX";
$DB_HOST = "XXXXX.mysql.masterhost.ru";
$DB_USER = "XXXXX";
$DB_PASS = "YYYY";
$connect=mysql_connect($DB_HOST,$DB_USER,$DB_PASS);}
?>
Это чтобы когда нужно будет, вызывать функцию conn().
Звтем выполняю стандартную проверку:
if ($connect){
print "MySQL успешно подключена";
}else{
print "Не могу подключиться к MySQL";
}
В первом случае все хорошо, но когда я настройки забиваю в функцию и затем эту функцию вызывааю, мне пишет, что нет соединения.