Mysql update nem működik, miért?
mysql_query("UPDATE users SET last='$last' all='$all' WHERE ip=$ip");
Még ha kicsit variálom az aposztrófokat, akkor sem működik, miért? Előtte az insert into működik, szóval nem értem.
mysql_query("UPDATE users SET last='$last' AND all='$all' WHERE ip='$ip' ");
vagy
mysql_query("UPDATE users SET last='$last', all='$all' WHERE ip='$ip' ");
Ezeknek működniük kell!
Nem működik.
Itt az egész php hátha:
<?php
function myreplace($string){
$string = str_replace('\'','',$string);
$string = str_replace('"','',$string);
$string = str_replace('<','',$string);
$string = str_replace('>','',$string);
$string = str_replace('<script>','',$string);
$string = str_replace('order','',$string);
$string = str_replace('by','',$string);
$string = str_replace('union','',$string);
$string = str_replace('null','',$string);
return $string;
}
$ip = $_SERVER['REMOTE_ADDR'];
$username = $_GET['username'];
$text = $_GET['text'];
$username = myreplace($username);
$text = myreplace($text);
$date = getdate();
$last = $date['hours'] * 60 + $date['minutes'];
$mycon = mysql_connect('127.0.0.1','root','');
mysql_select_db('wall');
$query = mysql_query("select * from users where ip='$ip'");
$num_row = mysql_num_rows($query);
if($num_row == 1){
$rows = mysql_fetch_assoc($query);
$db_last = $rows['last'];
$all = $rows['all'];
$all++;
if($last + 10 > $db_last){
mysql_query("UPDATE users SET last='$last', all='$all' WHERE ip='$ip' ");
mysql_query("insert into text values('$username','$text')");
}
else{
echo 'ban';
}
}
else{
mysql_query("insert into users values ('$ip','$username','$last','1')");
mysql_query("insert into text values('$username','$text')");
echo 'ok';
}
?>
mysql_query("UPDATE users SET last='$last', all='$all' WHERE ip='$ip' ") or die(mysql_error());
Rakd még a lekérdezés mellé ezt is, és nézd meg mi a hibaüzenet!
Ezt írja:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'all='2' WHERE ip='127.0.0.1'' at line 1
Legújabb EasyPhp-val és wampserver 2.2d-vel sem működik.
mysql_query("UPDATE `users` SET `last`=$last, `all`=$all WHERE ip='$ip' ");
Ez abban az esetben működni fog, ha a last és all mezők egész típusúak, az ip pedig valami karakteres.
mysql_query("UPDATE users SET last='".$last."' all='".$all."' WHERE ip=".$ip);
Ez a helyes válasz. Köszi! :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!