#php
#php
Вопрос:
я все еще не могу решить проблему с моим кодом, пытаюсь вставить данные моей формы в свою базу данных mysql, и мой запрос выдает ошибку. Все поля базы данных, кроме ‘patient_name’ и ‘статус платежа’ и ‘дата платежа’, являются int, но я все еще получаю ошибку каждый раз, когда отправляю запрос
‘ОШИБКА ЗАПРОСА У вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы найти правильный синтаксис для использования рядом с ‘ ‘платный’)’
все еще не могу понять, что не так в коде
Мой запрос :
$query = "INSERT INTO payment (
patient_name,
payment_date,
consult_charge,
medicine_charge,
blood_report,
injection_charge,
xray_charge,
total_charge,
payment_status) VALUES(
'$patient_name',
now(),
$consult_charge,
$medicine_charge,
$blood_report,
$injection_charge,
$xray_charge,
$total_charge,
'paid')";
Мой Html-код:
<form action="" method="POST">
<select class="custom-select" name="patient_name">
<option selected value="" >Select Patient</option>
<?php while ($row = mysqli_fetch_assoc($patient_query_result)) { ?>
<option value="<?php echo $row['surname'] .' '.$row['names']; ?>"><?php echo $row['surname'] .' '.$row['names']; ?></option>
<?php } ?>
</select>
<label for="consult_charge">Consulting Charge </label>
<input type="text" class="form-control" id="consult_charge" name="consult_charge">
<label for="medicine_charge">Medicine Charge </label>
<input type="text" class="form-control" id="medicine_charge" name="medicine_charge">
<label for="blood_report">Blood Report </label>
<input type="text" class="form-control" id="blood_report" name="blood_report">
<label for="injection_charge">Injection Charge</label>
<input type="text" class="form-control" id="injection_charge" name="injection_charge">
<label for="xray_charge">X-Ray </label>
<input type="text" class="form-control" id="xray_charge" name="xray_charge">
<label for="total_charge">Total </label>
<input type="text" class="form-control" id="total_charge" name="total_charge" readonly>
<button type="submit" name="submit" class="btn btn-primary">SAVE</button>
</form>
Комментарии:
1. Вероятно, что все ваши значения являются строками и поэтому должны быть заключены в кавычки.
2. удалить » вокруг оплачено
3. добавить » » вокруг оплачено
4. Это неправильно @SanthoshKumar, поскольку payed — это строка.
5. Не требуется @SanthoshKumar, остальные значения являются строками и должны быть заключены в кавычки. платный не является актуальной проблемой.
Ответ №1:
Пожалуйста, попробуйте это, ваши значения должны быть в одинарных кавычках. Вы пропустили функцию after now() .
$query = "INSERT INTO payment (
patient_name,
payment_date,
consult_charge,
medicine_charge,
blood_report,
injection_charge,
xray_charge,
total_charge,
payment_status)
VALUES(
'$patient_name',
now(),
'$consult_charge',
'$medicine_charge',
'$blood_report',
'$injection_charge',
'$xray_charge',
'$total_charge',
'paid')";
Комментарии:
1. глупо с моей стороны, я учил, поскольку поле в базе данных является int, мне не нужно его цитировать … спасибо
2. Ваши поля ввода для этих чисел
type="text"
таковы, что, по вашему мнению, они будут отправлены как @funintellect? Вы должны привести их к INT, если хотите иметь INT в базе данных.