2016-11-30 3 views
-2

Мне нравится преобразовывать mysql в mysqli, потому что mysql устарел.Преобразование mysql в mysqli в php?

Следующий код, Не могли бы вы мне помочь?

 <?php 
     error_reporting(0); 
     if ($_REQUEST['submit']) { 
      $search_file = $_POST['search_file']; 
      $sql = mysql_query("select * from information where firstname like '%$search_file%' or lastname like '%$search_file%' or ID like '%$search_file%' Order by lastname ASC") or die('Error in query : $sql. ' .mysql_error()); 

      if (empty($search_file)) { 
      echo '<script language="javascript">'; 
      echo 'alert("Text field cannot be empty. Please Try it again.")'; 
      echo '</script>'; 
      header("refresh:2; url=index.php"); 
      } 
      else if (mysql_num_rows($sql) > 0) 
      {    
      $i = 1; 
      while ($row = mysql_fetch_array($sql)) { 
       // Print out the contents of the entry 
       echo '<tr>'; 
       echo '<td class="text-center">' . $i . '</td>'; 
       echo '<td class="text-center">' . $row['firstname'] . '</td>'; 
       echo '<td class="text-center">' . $row['lastname'] . '</td>'; 
       echo '<td class="text-center">' . $row['phonenumber'] . '</td>'; 
       echo '<td class="text-center">' . $row['email'] . '</td>'; 
       $i++; 
      } 
      } 
      else 
      { 
      echo '<div class="alert alert-danger" style="width:130px; float:right; margin-top:-142px;">No Results Found!!!</div>'; 
      } 
     } 
     ?> 

Я только вставить "я" в MySQL вот что я придумал, но он показывает ошибку:

"Error in query : $sql."

 <?php 
     error_reporting(0); 
     if ($_REQUEST['submit']) { 
      $search_file = $_POST['search_file']; 
      $sql = mysqli_query($conn, "select * from information where firstname like '%$search_file%' or lastname like '%$search_file%' or ID like '%$search_file%' Order by lastname ASC") or die('Error in query : $sql. ' .mysqli_error()); 

      if (empty($search_file)) { 
      echo '<script language="javascript">'; 
      echo 'alert("Text field cannot be empty. Please Try it again.")'; 
      echo '</script>'; 
      header("refresh:2; url=index.php"); 
      } 
      else if (mysqli_num_rows($sql) > 0) 
      {    
      $i = 1; 
      while ($row = mysqli_fetch_array($sql)) { 
       // Print out the contents of the entry 
       echo '<tr>'; 
       echo '<td class="text-center">' . $i . '</td>'; 
       echo '<td class="text-center">' . $row['firstname'] . '</td>'; 
       echo '<td class="text-center">' . $row['lastname'] . '</td>'; 
       echo '<td class="text-center">' . $row['phonenumber'] . '</td>'; 
       echo '<td class="text-center">' . $row['email'] . '</td>'; 
       $i++; 
      } 
      } 
      else 
      { 
      echo '<div class="alert alert-danger" style="width:130px; float:right; margin-top:-142px;">No Results Found!!!</div>'; 
      } 
     } 
     ?>  

Просьба помочь! Спасибо!

+1

Пожалуйста, прочитайте [руководство по php для функций myqli, таких как myqli_fetch_assoc()] (http://php.net/manual/en/mysqli-result.fetch-assoc.php) – WEBjuju

+0

, пока вы на нем, пожалуйста, отформатируйте кода. – e4c5

+0

** ПРЕДУПРЕЖДЕНИЕ **: при использовании 'mysqli' вы должны использовать [параметризованные запросы] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) и [' bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php), чтобы добавить данные пользователя в ваш запрос. ** НЕ используйте ** интерполирование строк или конкатенацию для выполнения этого, потому что вы создали серьезную [SQL-инъекцию] (http://bobby-tables.com/). ** НИКОГДА не ставьте данные '$ _POST' или' $ _GET' непосредственно в запрос, это может быть очень вредно, если кто-то пытается использовать вашу ошибку. – tadman

ответ

0

ли эти изменения

<?php 
    error_reporting(0); 
    if ($_REQUEST['submit']) { 
    $search_file = $_POST['search_file']; 
    // Create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 

    $query = "select * from information where firstname like '%$search_file%' or lastname like '%$search_file%' or ID like '%$search_file%' Order by lastname ASC"; 

    if ($conn->query($query) === TRUE) { 
     echo "New record created successfully"; 
    } else { 
     echo "Error: " . $sql . "<br>" . $conn->error; 
    } 

    //add this where connection ends 
    //$conn->close(); 
?> 

Найти отдых другой код на PHP сайте.

+0

К сожалению, этот код имеет мало смысла. –

+0

Я не знаю, кто говорит, что это дубликат «Как я могу предотвратить SQL-инъекцию в PHP?» Просто глупость – lokis

+0

как серьезно? это плохо, чтобы помочь кому-то, кто не знает об этом? – Rasika