Доброго времени суток всем)
Вылазит такое предупреждение:
Warning: mysql_connect() [function.mysql-connect]: [2002] Обычно разрешается одно использование адреса сокета (протокол/се (trying to connect via tcp://localhost:3306) in C:\xampp\htdocs\archive\modules\dat a.php on line 36
Собственно только 2 php файла,
иногда , через раз выдают такую ошибку. Один это создание страницы
PHP код:
<?php
require_once ('../modules/tools.php');
require_once ('../modules/data.php');
//подключаем модуль с функциями PHP
session_start(); //стартуем сессию для передачи параметров между страницами
$fileHandle = fopen("Vydach_spis.html", "r");
if((isset($_SESSION['not_vyp']))&($_SESSION['not_vyp']!=1)){
//получаем хэндл открытого файла
//парсируем шаблон страницы и заполняем информацией из БД
//учитывая какая кнопка формы была нажата
while (!feof($fileHandle)) { //пока не конец файла
$buffer = fgets($fileHandle, 4096); //считываем строку из файла
if((strncmp($buffer,'<input',6)==0)and(stripos($buffer,'name="CurVyd"')!=false)) {
if(isset($_POST['CurVyd'])){
$cuVyd = $_POST['CurVyd'];
}else{
if(isset($_SESSION['cuVyd'])){
$cuVyd =$_SESSION['cuVyd'];
}else{
$cuVyd = 0;
}
}
echo '<input type="hidden" name="CurVyd" value="',$cuVyd,'" />';
$_SESSION['cuVyd'] = $cuVyd; //записываем его во временную переменную сессии
continue;
}
if((strncmp($buffer,'<table',6)==0)and(stripos($buffer,'id="Table_vydach"')!=false)){ //если нашли строку с заголовком комбобокса протоколов
echo $buffer;
while (strncmp($buffer,'</tr',4)!=0){
$buffer = fgets($fileHandle, 4096);
echo $buffer;
}
$query="Select id_serii,nomer_vypuska,naimenovanie,id_vydachi from `выпуски` where id_vydachi>1";
$tableRowsVyd=querydeal($query);
//таблица обращения
If(!$tableRowsVyd){
$tableRowsVyd[0][0]="";
$tableRowsVyd[0][1]="";
$tableRowsVyd[0][2]="Выпуски пока не выдавались";
$tableRowsVyd[0][3]="";
$tableRowsVyd[0][4]="";
$_SESSION['not_vyd']=1;
}else{
$_SESSION['not_vyd']=0;
$tableRowsVyd=metaVyd($tableRowsVyd);
}
$_SESSION['tableRowsVyd'] = $tableRowsVyd; //записываем его во временную переменную сессии
$selectIndex = $cuVyd;
$_SESSION['Cus_id_s']= $tableRowsVyd[$cuVyd][0];
$_SESSION['Cus_naim_v']= $tableRowsVyd[$cuVyd][2];
//echo $selectIndex;
$begin='onclick="var f = document.forms[0];f.CurVyd.value = ';
$end='; f.submit();"';
printInTable($selectIndex,$tableRowsVyd,$begin,$end);
}
if((strncmp($buffer,'<input',6)==0)and((stripos($buffer,'name="Butt_chg"')!=false))or((stripos($buffer,'name="Butt_del"')!=false))){
If(isset($_SESSION['not_vyd'])){
If($_SESSION['not_vyd']==1){
continue;
}
}
}
echo $buffer;
}
}else{
echo "<h3>В серии нет ни одного выпуска, выдача невозможна!</h3>";
echo "<META http-equiv=\"REFRESH\" content=\"2; URL='../interfaces/sotrudnik.php'\">";
}
fclose($fileHandle); //закрываем файл
return 0;
?>
Другой удаление записи
PHP код:
<?php
require_once ('../modules/tools.php');
require_once ('../modules/data.php');
session_start();
if(isset($_SESSION['Cus_id_s'])){
$a=$_SESSION['Cus_id_s'];
$b=$_SESSION['Cus_naim_v'];
$query ="select id_vydachi FROM `archive`.`выпуски` WHERE `id_serii` = '".$a."' AND naimenovanie = '".$b."' ;";
$mas=querydeal($query);
$query ="UPDATE `archive`.`выпуски` SET `id_vydachi` = '1' WHERE `id_serii` = '".$a."' AND naimenovanie = '".$b."' ;";
queryinsert($query);
$c=$mas[0][0];
$query ="DELETE FROM `archive`.`выдача` WHERE `id_vydachi` = '".$c."';";
queryinsert($query);
$_SESSION['cuVyd']=0;
echo "<META http-equiv=\"REFRESH\" content=\"0; URL='../specialist/vydach_spis.php'\">";
}else echo "<META http-equiv=\"REFRESH\" content=\"0; URL='../specialist/vydach_spis.php'\">";
?>
И data.php с функциями
PHP код:
<?php
define("baseName",'archive',true); //Объявляем константное
function connectToBase(){
$host="localhost";
$baseName="archive";
if(isset($_SESSION['level_access'])){
switch ($_SESSION['level_access']) {
case '1': $log="sotr_a";$pass="sotr";break;
case '2': $log="ppc";$pass="ppc";break;
case '3': $log="adm_a";$pass="admin";break;
}
}else{$log="base_a";$pass="base";}
//unset($link_identifier);
line 36 -->>> $link_identifier = mysql_connect('localhost','adm_a','admin')OR die('Не могу создать соединение ');
//$link_identifier = mysql_connect($host,$log,$pass)OR die('Не могу создать соединение '); //выполняем соединение с MySQL с текущими параметрами
$query = "SET NAMES cp1251"; //устанавливаем кодировку по умлочанию Windows 1251 для кирилицы
MYSQL_QUERY($query,$link_identifier)OR die('Не могу выполнить запрос1'); //выполнение запроса
mysql_select_db($baseName,$link_identifier)OR die('Не могу выбрать базу данных '); //делаем активной БД
return $link_identifier; //возвращаем идентификатор соединения
}
//--- connectToBase ---
//--- connectClose ---
/*
функция закрытия соединения PHP с базой MySQL
$link_identifier строка идентификатор соединения
*/
function connectClose($link_identifier){
mysql_close($link_identifier)OR die('Не могу закрыть соединение'); //закрываем соединение с MySQL по идентификатору
}
//--- connectClose ---
//простоая функция исполнения запроса с возвратом результата
function querydeal($query){ //входной параметр текст запроса
$link_identifier =connectToBase(); //коннектимся к базе
$result = MYSQL_QUERY($query)OR die('Не могу выполнить запрос'); //выполнение запроса
$row = mysql_fetch_row($result); //присваиваем переменной очередную строку из выборки
while ( $row ){ //пока есть строки в результате запроса
$lines[]=$row; //формируем двумерный массив
$row = mysql_fetch_row($result); //присваиваем переменной очередную строку из выборки
}
connectClose($link_identifier); //закрытие соединения с БД
if(isset($lines)) //если хотя бы одна строка найдена
return $lines; //возвращаем массив строк
else{ //иначе
return null; //возвращаем null
}
}
//выплнение запроса без возврата результата
function queryinsert($query){
$link_identifier =connectToBase();
$result = MYSQL_QUERY($query)OR die('Не могу выполнить запрос'); //выполнение запроса
connectClose($link_identifier); //закрытие соединения с БД
return true;
}
?>
И хоть режте - не понимаю, что не так?
Порт 3306 занят mysqld.
Код писал не я(
Подскажите кто чем может, как это исправить?