Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вопрос о записи е-mail в MySQL.
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Вопрос о записи е-mail в MySQL.

Страниц (1): [1]
 

1. С.Тарасов - 23 Февраля, 2009 - 16:22:53 - перейти к сообщению
Не могу понять причину по которой при попытке записи в таблицу адреса a формате "aaaa@aaaa.aa" сообщается :
Цитата:
aaaa@aaa.aa, ' ' Could not query: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 '@aaa.aa)' at line 1


Не могу найти как этого избежать хотя догадываюсь, что это должно быть не сложно.

Аналогично не могу понять как можно вносить в БД записи типа "123-а", "123/а", "123-4". "123/4" в виде строки?

Если можно подскажите пожалуйста избегать этих проблем при использовании PHP.
2. Бублик - 23 Февраля, 2009 - 16:31:58 - перейти к сообщению
Может там кавычка лишняя? Приведите код.
3. С.Тарасов - 23 Февраля, 2009 - 18:13:16 - перейти к сообщению
Привожу коды:

1.HTML:
Цитата:
<Form ... method="post".....
......
<input name="milo_pas" type="text" maxlength="30" size="20" title="Адрес e-mail НЕ должен содержать русские символы и должен соответствовать общепринятому формату."></td>


2.PHP:
Цитата:

$mail_pas=strip_tags($_POST['milo_pas']);
$m="<>?/\|[]{}~!^&*),;ёйцукенгшщз......";
if (!strpbrk($mail_pas, $m) && strpbrk( $mail_pas, "@" ) ) && strpbrk($mail_pas, "." ) )
{
$mail_pas=htmlentities($mail_pas, ENT_QUOTES);
...........
...........
$mail_pas = mysql_real_escape_string($mail_pas);
echo "$telephon, $mail_pas, ' ' ";

mysql_query ("INSERT INTO $tb_klient (TELEPHON, MAIL) VALUES ($telephon, mail_pas)" ) or die ("Could not query:" . mysql_error());

4. E-Pro - 23 Февраля, 2009 - 18:39:25 - перейти к сообщению
В запросе mail_pass ещё указан без переменной, и указывай их в одинарных ковычках
Поищи на форуме проверки email я думаю они тебе пригодятся.
Valenok их выкладывал.
5. С.Тарасов - 23 Февраля, 2009 - 19:11:58 - перейти к сообщению
E-Pro пишет:
В запросе mail_pass ещё указан без переменной,
это получилось при переносе на форум. В программе:
Цитата:
mysql_query ('INSERT INTO $tb_klient (TELEPHON, MAIL) VALUES ($telephon, $mail_pas)' ) or die....


Поставил одинарные ковычки. Результат:
Цитата:
qqqqq@qqq.qq Could not query:Table 'db1.$tb_klient' doesn't exist


Теперь что ей от меня надо Не понял?

Цитата:
$hostname="localhost"; $username="root"; $password="vertrigo";

mysql_connect ($hostname, $username, $password) or die("Could not connect: " . mysql_error());

$dbname = "db1";
mysql_select_db ($dbname);

$tb_klient="klient_pas";

mysql_query ('INSERT INTO $tb_klient (TELEPHON, MAIL) VALUES ($telephon, $mail_pas)' ) or die ....

(Добавление)
Спасибо. Понял о каких кавычках шла речь! Радость
Цитата:
mysql_query ("INSERT INTO $tb_klient (TELEPHON, MAIL) VALUES ('$telephon', '$mail_pas' )" )

 

Powered by ExBB FM 1.0 RC1