#php #mysql #date
#php #mysql #Дата
Вопрос:
правильный ли этот запрос mysql? обратите внимание, что userdate — это Дата
sprintf("INSERT INTO userinfo (username,userbdate,national,email, mobilenum,phonenum,
street,city,stateof , postoofice,country,lastcirt,cirt,specailzation,exper,
yearsofexper,notes)
VALUES ('%s', '%d' , '%s' , '%s' , '%d' , '%d' ,
'%s','%s','%s','%s','%s','%s','%s','%s','%s',
'%d','%s')",
$user->getUserName(),
$user->getgetBirthDate(),
$user->getNational(),
$user->getEmail(),
$user->getMobilenum(),
$user->getPhonenum(),
$user->getPhonenum(),
$user->getStreet(),
$user->getCity(),
$user->getStateof(),
$user->getPostoffice(),
$user->getCountry(),
$user->getLastcirifacite(),
$user->getCirifacite(),
$user->getSpecailaztion(),
$user->getExper(),
$user->getYearsOfexper(),
$user->Notes(),
$userModel->getUserId());
Комментарии:
1.
postoofice
не уверен, намеренно это или опечатка
Ответ №1:
Почему бы вам не попробовать и не посмотреть? Мы не можем угадать, каковы все ваши значения. Но я могу сказать вам прямо сейчас, что если КАКОЕ-либо из этих значений будет заключено в кавычки, ваш SQL-запрос будет нарушен. Посмотрите SQL injection, посетитеhttp://bobby-tables.com и сделает ваш запрос немного менее рискованным.
Комментарии:
1. мм, это заключительный проект по теме, я попытаюсь прочитать об этом этим летом, но сейчас я должен закончить его, кстати, я пытаюсь, но это ничего мне не дает!
2. Затем возьмите сгенерированный запрос и запустите его вручную в mysql monitor. Несомненно, вы получите сообщения об ошибках.
specailzation
выглядит подозрительно.
Ответ №2:
getgetBirthDate
казалось бы, неправильно (два get). Вам лучше использовать параметры и покончить с любой проблемой форматирования. Кроме того, вы были бы невосприимчивы к SQL-инъекции.