2015-02-12 2 views
-1

Я пытаюсь заставить это работать больше дня, постоянно проверяя синтаксис и переписывая. Я пробовал это так, удалив «, а затем и». Я не вижу причин, почему это не работает, и я не могу получить информативное сообщение об ошибке. Вот код, . с результатом ниже
(код выполняется по форме представления регистрации пользователя страницы)mySQL INSERT INTO fail, нет сообщения об ошибке

$inputSQL = "INSERT INTO users (username,password,gname,mname,surname,address,state,postcode,tel,favourite,fan,susername,score,margin) 
VALUES('" . $userName . "','" . $password . "','" . $givenName . "','" . $middleName . "','" . $familyName . "','" . $address . "','" . $state . "','" . $postcode . "','". $phoneNumber . "','" . $favTeam . "','" . $fan . "','" . $sysUserName . "','0','0')"; 
echo $inputSQL; 
mysql_query($inputSQL,$conn) 
or die('Problem with Registration Query ' . mysql_error()); 

Результаты в:

INSERT INTO пользователей (имя пользователя, пароль, gname, mname, фамилия, адрес, состояние, почтовый индекс, tel, фаворит, вентилятор, имя пользователя, оценка, маржа) VALUES ('lanx', 'password', 'given', 'middle', 'last', 'add', 'QLD', '1234', ' 'pohne', 'Gold Coast Suns', 'Y', 'mag1330', '0', '0') Проблема с регистрационным запросом

Как вы можете видеть, mysql_error() даже не дает мне сообщение об ошибке, хотя запрос явно не удался. Я проверил типы полей базы данных, и все они VARCHAR, за исключением почтового индекса, оценки, поля (INT) и вентилятора (CHAR (1)). Опять же, я не вижу никакой проблемы с данными, которые я пытаюсь ввести. Кто-нибудь знает, как я могу заставить это работать?

+0

Вместо этого используйте PDO. Функции 'mysql_' устарели. И с PDO у вас есть более полезная попытка ... поймать в вашем распоряжении для проверки ошибок. – developerwjk

+0

Если вы выполняете эхо-результат непосредственно в своей БД, это сработает? Если это не сообщение об ошибке? – chris85

+0

Вы пробовали вызывать 'mysql_error ($ conn)'? Если у вас открыто несколько соединений, по умолчанию используется самый последний дескриптор, если вы не укажете, и поскольку вы явно передаете дескриптор базы данных в 'mysql_query', возможно, стоит попробовать – andrewsi

ответ

0
  1. Вы забыли "." до ЦЕННОСТЕЙ.
  2. Вы можете просто использовать PHP переменные без

Попробуйте

$con = mysql_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD); 
mysql_querry ("INSERT INTO users (username, password, gname, mname, surname, address, state, postcode, tel, favourite, fan, susername, score, margin) " 
    . "VALUES('$userName','$password','$givenName','$middleName','$familyName','$address','$state','$postcode','$phoneNumber','$favTeam','$fan','$sysUserName', '0', '0')"); 

Примечания: DB_HOSTNAME, DB_USERNAME, пароль_базы_данный - ваш постоянный "..".

+0

Изменение стиля конкатенации ничего не исправит. Просто эстетика. – developerwjk

Смежные вопросы