У меня есть проблема прямо сейчас при отправке переменной в таблицу. У меня есть 3 таблицы с именем prereg, asdoc, asdocp. Я назначаю врача пациенту, где таблица пациентов является prereg, и другая таблица 2 - таблица врачей. Проблема заключается в следующем: $ fname из таблицы prereg отправляет обе таблицы, которые являются asdoc, asdocp и.Дублирование входов в другую таблицу PHP/MYSQL
Что я хочу сделать, это значение $ fname отправлять только в 1 таблицу, а когда имя врача дублируется в 5, имя таблицы mstat/pstat будет заполнено.
$fnamechk = @mysql_query("SELECT * FROM prereg WHERE fname = '$fname'");
if(mysql_num_rows($fnamechk) == 0) {
$query = "INSERT into prereg (fname, lname, mname)
VALUES ('$fname','$lname','$mname')";
$result = mysql_query($query) or trigger_error(mysql_error().". Query: ".$query);
echo "<strong>";
echo "<script>alert('Successfully added to in patient');document.location='patient.php'</script>";
echo '</script>';
// DOOOOOOOOOOOOOOCTORSSSSS --------------------
//MEDICAL DOCTOR
$fnamechkkk = @mysql_query("SELECT * FROM asdoc WHERE docname = '$docname'");
if(mysql_num_rows($fnamechkkk) == 4) {
mysql_query("UPDATE asdoc SET mstat='Full' Where docname='$docname' AND mstat='available'");
}else
$fnamechkk = @mysql_query("SELECT * FROM asdoc WHERE docname = '$docname'");
if(mysql_num_rows($fnamechkk) <= 5) {
$query = "INSERT into asdoc (docname, afname)
VALUES ('$docname','$fname')";
$result = mysql_query($query) or trigger_error(mysql_error().". Query: ".$query);
}
// MEDICAL DOCTOR END--------
//PEDRIATIC DOCTOR
$fnamechkkk = @mysql_query("SELECT * FROM asdocp WHERE pdoc = '$pdoc'");
if(mysql_num_rows($fnamechkkk) == 4) {
mysql_query("UPDATE asdocp SET pstat='Full' Where pdoc='$pdoc' AND pstat='available'");
}else
$fnamechkk = @mysql_query("SELECT * FROM asdocp WHERE pdoc = '$pdoc'");
if(mysql_num_rows($fnamechkk) <= 5) {
$query = "INSERT into asdocp (pdoc, pfname)
VALUES ('$pdoc','$fname')";
$result = mysql_query($query) or trigger_error(mysql_error().". Query: ".$query);
}
// PEDRIATIC DOCTOR END--------
Я знаю, что мой код неверен для этого сценария, пожалуйста, посоветуйте мне, и если, как решить эту благодарность, ребята. Это то, что случилось с моими таблицами:
** ВНИМАНИЕ **: Если вы просто изучаете PHP, не используйте интерфейс ['mysql_query'] (http://php.net/manual/en/function.mysql-query.php) , Это так ужасно и опасно, что он был удален в PHP 7. Замена, такая как [PDO, не трудно учиться] (http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps -pdo-for-database-access /) и руководство, подобное [PHP The Right Way] (http://www.phptherightway.com/), объясняет лучшие практики. Ваши пользовательские данные ** не ** [правильно экранированы] (http://bobby-tables.com/php.html), и есть [SQL-инъекции ошибок] (http://bobby-tables.com/) и могут эксплуатироваться. – tadman
** ПРЕДУПРЕЖДЕНИЕ **: не следует подавлять ошибки при вызове методов с помощью оператора '@'. Если что-то пойдет не так, вы хотите узнать об этом, и вам нужно будет предпринять корректирующие действия, отобразить полезное сообщение для пользователя, занести в журнал проблему или все это и многое другое. Это также делает такие отладочные проблемы намного сложнее, если вы игнорируете ошибки, которые пытаются указать на серьезные проблемы. – tadman
Ваш отступ также полностью вышел из-под контроля. Вам нужно попытаться сохранить этот материал, или вы никогда не сможете сказать, что здесь происходит. – tadman