» »

Navaden SQL select NE DELA! Zakaj?

Navaden SQL select NE DELA! Zakaj?

poweroff ::

Imam tole:

// Check if robot is saved in database and increase the counter
$sql = "SELECT robotname, robotcounter FROM wt_robots WHERE robotname = '$therobotname'";

if(!mysql_query($sql)) {
echo("SQL error (select robot)!");
}
else { // no error...
$result = mysql_query($sql);
$myfield = mysql_fetch_array($result);
$robotname = $myfield['robotname'];
}


Pa ne dela, vedno javi SQL napako. Finta je pa v temle...
variabla $therobotname = substr($HTTP_USER_AGENT, 0, 80);, zato je SQL stavek sledeč:
SELECT robotname, robotcounter FROM wt_robots WHERE robotname = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; T312461)'

Morda zato ne dela? Kako to popraviti?

Poleg tega sem opazil da če rečem:
function check_browser ($item,$key,$users_browser) {
global $dontsave;
if (ereg ($item, $users_browser)) {
$dontsave = 1;
}
}

// Check which browser is in use
reset ($forbiden_browsers);
@array_walk ($forbiden_browsers, 'check_browser', $HTTP_USER_AGENT);

In če je v $forbiden_browsers = array ("ASPSeek", "Googlebot", "MSIE"); - ne najde MSIEja, se pravi če je moj $HTTP_USER_AGENT = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; T312461), zadeva ne trzne, $dontsave se ne nastavi na 1!

Močno sumim d mora biti tu nekje kakšen trik, vendar ga ne poznam. Any help?

JerKoJ ::

Probi naprej takole, da bos vidu za kaksno vrst napake sploh gre
$result=mysql_query($sql);
if (mysql_errno()) {
echo mysql_error();
}
else {
//nekaj nared
}
drgac pa probi pr $therobotname uporabt funkcijo
addslashes pa si v manual poglej kaj dela

poweroff ::

Hmm, sem ze odkril napako... ker sem zelel izboljsati performace programa, sem nekje na zacetku vstavil en if stavek... in ce pogoj ni bil izpolnjen, nisem izveedl cel kup funkcij... nekako se mi je ZA if (namesto PRED njega) prikradel connect to database. Shame on me - na bazo sploh nisem bil connectan, zato pa ni delalo. Ampak glede tistega ereg me pa se vedno zanima...

poweroff ::

Hmm, tale addslashes odpravi samo tezave z single quote ('), double quote ("), backslash (\) in NUL (the NULL byte).

Jaz imam pa obcutek da me v eregu zafrkavajo semicolons ( ; ). A morda kdo ve v cem je trik?



Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

PHP - header : javi napako

Oddelek: Izdelava spletišč
61191 (1146) Camel
»

[PHP] Iskanje/brisanje iz baze (telefonskega imenika)

Oddelek: Programiranje
121701 (1483) Good Guy
»

[SQL in PHP] Preprost PHP koledarček, ki je povezan z MySQL bazo

Oddelek: Programiranje
91831 (1593) R33D3M33R
»

2002-03-29 -> 29.3.2002

Oddelek: Izdelava spletišč
161497 (1323) cahahopie
»

PHP help!

Oddelek: Programiranje
251613 (1451) rc-car

Več podobnih tem