Member 9983063 Ответов: 1

Как получить значение переменной в PHP


Привет ребята,как у вас дела, ребята, на самом деле в настоящее время я работаю на Android приложение, и это приложение соединяется с БД MySQL через PHP ну все отлично, теперь я просто хочу, чтобы перед вставкой проверить, что проверьте номер существует в БД или нет, если да то дай мне вернуться, в противном случае запрос будет executre вставки пожалуйста ребята помогите мне я новичок в PHP

Что я уже пробовал:

<?php
include 'DatabaseConfig.php';
// Create connection
$conn = new mysqli($HostName, $HostUser, $HostPass, $DatabaseName);
 if($_SERVER['REQUEST_METHOD'] == 'POST')
 {
 $DefaultId = 0;

 $ImageData = $_POST['image_path'];
 
 $ImageName = $_POST['image_name'];
 
 $Fullname = $_POST['fullname'];
 
 $CNIC = $_POST['cnic'];
 
  $Mobile = $_POST['mobile'];
  
  $Address = $_POST['address'];
  
   $District = $_POST['district'];
   
   $Gender = $_POST['gender'];
  
   $Education = $_POST['education'];
   
   $Ward = $_POST['ward'];
   
   $Ps = $_POST['ps'];
   
   $Uc = $_POST['uc'];
   
   $Bjf = $_POST['bjf'];
   
   $By = $_POST['by'];
   
   $Dt = $_POST['dt'];
   
   $Email = $_POST['email'];
 
 $GetOldIdSQL ="SELECT id FROM information ORDER BY id ASC";
 
 $Query = mysqli_query($conn,$GetOldIdSQL);
 
 while($row = mysqli_fetch_array($Query)){
 
 $DefaultId = $row['id'];
 }
 
 $ImagePath = "images/$DefaultId.png";
 
 $ServerURL = "laserlightskincare.com/$ImagePath";
 
 //$InsertSQL = "insert into information (image_path,image_name,Fullname,CNIC,mobile,Address,District,ps,uc,ward,Gender,education,Doj,bjf,boy) values ('$ServerURL','$ImageName','$Fullname','$Cnic','$Mobile','$Address','$District','$PS','$UC','Ward','$Gender','Education','$Doj','$bjf','$boj','$boy')";
 $InsertSQL = "insert into information (image_path,image_name,Fullname,CNIC,mobile,Address,District,Gender,education,ward,ps,uc,bjf,boy,Doj,email) values ('$ServerURL','$ImageName','$Fullname','$CNIC','$Mobile','$Address','$District','$Gender','$Education','$Ward','$Ps','$Uc','$Bjf','$By','$Dt','$Email')";
 
 if(mysqli_query($conn, $InsertSQL)){

 file_put_contents($ImagePath,base64_decode($ImageData));

 echo "You have successfully registered";
 } 
 mysqli_close($conn);
 }else{
 echo "Not Uploaded";
 }

?>

Richard MacCutchan

В чем же вопрос?

Member 9983063

На самом деле сэр мой вопрос заключается в том когда пользователь регистрируется поэтому перед выполнением запроса insert его проверяют если пользователь cnic no уже доступен в БД поэтому он дает возврат в противном случае пользователь будет зарегистрирован

1 Ответов

Рейтинг:
1

Patrice T

$InsertSQL = "insert into information (image_path,image_name,Fullname,CNIC,mobile,Address,District,Gender,education,ward,ps,uc,bjf,boy,Doj,email) values ('$ServerURL','$ImageName','$Fullname','$CNIC','$Mobile','$Address','$District','$Gender','$Education','$Ward','$Ps','$Uc','$Bjf','$By','$Dt','$Email')";

Не обязательно решение вашего вопроса, но у вас есть еще одна проблема.
Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь к уязвимости под названием "SQL-инъекция", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа выйдет из строя. Если пользователь вводит имя, например "Брайан О'Коннер", может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция - Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL-инъекция - руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL - OWASP[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? - Обмен Стеками Информационной Безопасности[^]
Цитата:
На самом деле сэр мой вопрос заключается в том когда пользователь регистрируется поэтому перед выполнением запроса insert его проверка если пользователь cnic no уже доступен в БД

попробуйте выбрать для этого cnic и сколько записей вы получите.


Member 9983063

хорошо я получил но пожалуйста дайте мне решение моей проблемы пожалуйста добавьте решение в мой код если вы можете я буду очень благодарен вам