powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проблемы с обработкой mysql-запроса PHP-скриптом
15 сообщений из 15, страница 1 из 1
Проблемы с обработкой mysql-запроса PHP-скриптом
    #38598601
jmp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть запрос SELECT * FROM sal; , который передается через форму
<form action="<? print $PHP_SELF ?>" method="post">
<br><textarea name="com" rows="5" cols="75"></textarea>
<p><input type="SUBMIT" value="Выполнить" </form>

в php-скрипт. Запрос успешно выполняется.

Пробую другой запрос через форму: SELECT * FROM sal WHERE city = 'San Jose';

И вот тут возникает следующая ошибка:
авторОшибка: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'San Jose\'' at line 2

Однако, если я передаю этот запрос в переменную напрямую, то запрос успешно выполняется, т.е.:
$com= "SELECT * FROM sal WHERE city = 'San Jose';"; - работает.

Но если передаю через html-форму из браузера:
$com = $_POST['com'];
print_r($com);
То в $com передается значение: $com == SELECT * FROM sal WHERE city = \'San Jose\';

Похоже, что из-за этих вот слэшей \'San Jose\' запрос не получается интерпретировать.

Как это обойти?
...
Рейтинг: 0 / 0
Проблемы с обработкой mysql-запроса PHP-скриптом
    #38599227
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jmp,

откуда берутся слеши? Выложите кусок кода, где идет обработка переменной и выполнение запроса.
...
Рейтинг: 0 / 0
Проблемы с обработкой mysql-запроса PHP-скриптом
    #38599231
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрите в сторону magic_quotes

Ну или stripslashes() в помощь
...
Рейтинг: 0 / 0
Проблемы с обработкой mysql-запроса PHP-скриптом
    #38599242
jmp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnogu,
Я не знаю, почему они берутся. Они появляются тогда, когда я ввожу через в форму браузера IE9 запрос: SELECT * FROM sal WHERE city = 'San Jose';.
А через форму в Chrome/Firefox вообще ничего не обрабатывается.
Материалам, которые я использую, уже лет 6. Вот код php-скрипта.

<?php

mysql_error();
print_r($_POST);

//$com = "SELECT * FROM sal WHERE city = 'San Jose';";

$com = $_POST['com'];
print_r($com); //

$mysql_user = "root";
$conn = mysql_connect("localhost",
$mysql_user);
if (!$conn ) die ("Нет соединения с MySQL");


$database = "sample";
mysql_select_db($database)
or die ("Нельзя открыть $database");


$query = "$com";

$result = mysql_query($query)
or die ("<p>Ошибка: ".mysql_error());


if (eregi("^select(.*)", trim($com))||eregi("^desc(.*)", trim($com)))
{
$num_rows = mysql_num_rows($result);
// количество записей в запросе
//print "<P>В таблице содержится $num_rows строк";
$num_fields = mysql_num_fields($result);
// количество столбцов в запросе
print "<p><table border=1>\n";
print "<tr>\n";
for ($x=0; $x < $num_fields; $x++)
{
$name = mysql_field_name($result, $x);
print "\t<th>$name</th>\n";
// печатаем имя $x-того столбца
}
print "</tr>\n";
while ($a_row = mysql_fetch_row($result))
{ // печатаем содержимое столбцов
print "<tr>\n";
foreach ($a_row as $field) // $a_row - массив
print "\t<td>$field</td>\n";
print "</tr>\n";
}
print "</table>\n";
}
mysql_close($conn);
}
?>
...
Рейтинг: 0 / 0
Проблемы с обработкой mysql-запроса PHP-скриптом
    #38599304
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jmp,

Код: sql
1.
$com = stripslashes($_POST['com']);
...
Рейтинг: 0 / 0
Проблемы с обработкой mysql-запроса PHP-скриптом
    #38599358
jmp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnogu,

о! вот теперь все о'кей! спасибо вам огромнейшее за помощь!
...
Рейтинг: 0 / 0
Проблемы с обработкой mysql-запроса PHP-скриптом
    #38599520
jmp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnogu,

еще вопрос, в IE9 работает, но вот интересно, почему в Chrome ничего не выводит?
...
Рейтинг: 0 / 0
Проблемы с обработкой mysql-запроса PHP-скриптом
    #38599660
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jmp,

а что должно выводиться то? я же не вижу как ваша программа отрабатывает.

Да и судя по коду у вас в верстке каша полная. Зачем было использовать print, echo чем не устроил. И для чего там куча знаков табуляции, в html?
...
Рейтинг: 0 / 0
Проблемы с обработкой mysql-запроса PHP-скриптом
    #38599671
jmp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnogu,

код писал не я, а какой-то препод лет 6-7 назад. код учебный, написан для выполнения лабы по mysql. php я еще не изучал.
* не вижу, где вы разглядели знаки табуляции, весь код, что я привел, "приклеен к левой стенке".
* выводиться должна таблица



вот в Chrome это не выводится, а в IE - нет проблем.
...
Рейтинг: 0 / 0
Проблемы с обработкой mysql-запроса PHP-скриптом
    #38599672
jmp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnogu,

извиняюсь за масштаб. вот так лучше видно:
...
Рейтинг: 0 / 0
Проблемы с обработкой mysql-запроса PHP-скриптом
    #38599673
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вообще странно что в хроме и не вывелось, как раз всегда все наоборот). А консоль не на что не ругается?

Не получится, скиньте код и базу, гляну.
...
Рейтинг: 0 / 0
Проблемы с обработкой mysql-запроса PHP-скриптом
    #38599936
jmp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnogu,

прикрепляю файл.
* таблица строится в ins.php
* html-форма и php-скрипт сидят внутри command.php
...
Рейтинг: 0 / 0
Проблемы с обработкой mysql-запроса PHP-скриптом
    #38599937
jmp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jmp,
...
Рейтинг: 0 / 0
Проблемы с обработкой mysql-запроса PHP-скриптом
    #38599983
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jmp,
файл command.php
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
	<title>Тест</title>
</head>

<body>

<form action=""  method="post">
	<br/>
    <textarea name="com" rows="5" cols="75"></textarea>
	<p><input type="SUBMIT" value="Выполнить" /></p>
</form>

<p><hr style="width: 100%; height: 1px; background: #000; border: none;" /></p>

<?php
	
	mysql_error();

	$com = stripslashes($_POST['com']);
	echo $com;
	
	
	if (empty($com)) {
	   echo 'Variable com is NULL!';
    }
	else {                

	   echo '<p><hr style="width: 100%; height: 1px; background: #000; border: none;" /></p>';
  
	   $conn = mysql_connect("localhost", "root") or die("Нет соединения с MySQL"); 

	   mysql_select_db("sample") or die ("Нельзя открыть $database");

	   $result = mysql_query($com) or die ("<p>Ошибка: ".mysql_error());

	/*вы уверены что это условие вам надо? Для чего оно вообще тут?
	if (eregi("^select(.*)", trim($com)) || eregi("^desc(.*)", trim($com)))
	{
		$num_rows = mysql_num_rows($result);
		// количество записей в запросе
		//print "<P>В таблице  содержится $num_rows строк";
		
		$num_fields = mysql_num_fields($result); 
		
		// количество столбцов в запросе
		print "<p><table border=1>\n"; 
		print "<tr>\n";
		
		for ($x=0; $x < $num_fields; $x++)
		{
			$name = mysql_field_name($result, $x); 
			print "\t<th>$name</th>\n";
			// печатаем имя $x-того столбца
		}
		
		print "</tr>\n";
			 
		while ($a_row = mysql_fetch_row($result))
		{      // печатаем содержимое столбцов
			print "<tr>\n";
			foreach ($a_row as $field)  // $a_row - массив
			print "\t<td>$field</td>\n"; 
			print "</tr>\n";
		}
		
		print "</table>\n"; 
		
	}*/
    
    echo '<table border="1" cellpadding="5" style="border-collapse: collapse;">';
    
    $printed_headers = false;
    while($row = mysql_fetch_assoc($result))
    {
        if (!$printed_headers) { 
        // Выводим строку с заголовками
            echo "<tr>"; 
            foreach ( array_keys($row) as $header ) 
            { 
                echo "<th>$header</th>"; 
            } 
        echo "</tr>"; 
        $printed_headers = true; 
        } 
 
        echo "<tr>";
        foreach ($row as $val)
        {
            echo "<td>$val</td>";
        }
        echo "</tr>";
    }
    echo '</table>';

	mysql_close($conn); 
	}
?>

</body>
</html>

...
Рейтинг: 0 / 0
Проблемы с обработкой mysql-запроса PHP-скриптом
    #38601146
jmp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnogu,

спасибо! вот теперь все работает и в Chrome!
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Проблемы с обработкой mysql-запроса PHP-скриптом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]