Mysql
 sql >> база данни >  >> RDS >> Mysql

Проверка и връщане на стойности от база данни

Условието ви може да бъде опростено, опитайте по този начин:

if(isset($ref)){ 
    $db = mysql_connect('localhost', 'admin', "admin") or die(mysql_error("Cannot Connect to Database")); 
    mysql_select_db('tracking') or die(mysql_error());

    $sql = "SELECT * FROM order_tracking WHERE ship_ref = '".$ref."' "; 
    $rs  = mysql_query($sql);
    if(!rs){
        die(mysql_error());
    }

    if($row = mysql_fetch_array($rs)) {
        echo '<table width="518" border="1";>'; 

        echo '<tr>';
        echo '<td width="137" style="font-size:12px; padding: 5px;" >Shipment Reference: </td>';
        echo '<td width="365" style="background-color:#fcfcfc; padding: 10px;  font-size:12px;">' . $row['ship_ref'] . "<br />" . '</td>'; 
        echo '</tr>';

        echo '<tr>';
        echo '<td width="137" style="font-size:12px; padding: 5px;" >Shipment Type: </td>';
        echo '<td width="365" style="background-color:#fcfcfc; padding: 10px;  font-size:12px;">' . $row['ship_type'] . "<br />" . '</td>'; 
        echo '</tr>';
        echo "</table>";
    }
    mysql_close();
}
else{
    print 'Invalid Tracking Number, Please <a href="tracking.php"> click here </a> to try  again' ;
}

защото else if ($rs != $row) ще има недефинирана стойност, ако първото условие не е изпълнено.

Както посочи @marco, можете да проверявате за редове без извличане:

if(mysql_num_rows($rs) > 0){
  //found a row
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL:Свободни / заети стаи както сега

  2. как да създадете тази заявка

  3. Инструментът за създаване на заявки за доктрини DATE_FORMAT не работи

  4. Как да създадете изход от две колони от една колона

  5. Как да експортирате база данни с помощта на phpMyAdmin