Atandın SQL sonuç çalışmıyor

1 Cevap php

Kodu:

  $msr = db_query("SELECT * FROM users WHERE username='$username'");
  if (db_num_rows($msr) == 0)
      return null;

Ne zaman

function db_query($query) { return mysql_query($query) or die(mysql_error() . " when querying: $query"); }
function db_num_rows($queres) { return mysql_num_rows($queres) or die(mysql_error()); }

Hata gösterir: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

Ne zaman I replace "db_" with "mysql_" everything works perfectly. Is there a way to fix this?

1 Cevap

Bkz: "Creating a php function to return mysql results" Burada SO.

function db_query($query) { 
  $result = mysql_query($query) or die(mysql_error()." when querying: $query"); 
  return $result;
}

// etc

Bunun dışında, size absolutely not yapmalıyım

$msr = db_query("SELECT * FROM users WHERE username='$username'");

güvenlik nedenleriyle. Bu görmek, SQL enjeksiyon saldırıları için geniş açık XKCD 327. Yerine parametrized SQL ifadeleri kullanın.