Добрый день решил я добавить индификацию людей кому дошло уведомление (подглядел в другой теме), я добавляю 1 в поле undelivered всем кому собираюсь отправить. а потом у тех кому ушло вычитаю 1...
1 часть у меня проходит на ура всем плюсуется 1
а вычитаться не хочет
выводит ошибку после mysql запроса
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 '= 123456' at line 1
где 123456 - uid отправляющему
много чего перепробывал в коде видно что я и пробелы удалял из переменых
а если закоментить запрос и просто выводить переменные echo
то все выводятся кому отправляется
может дело в переменной $res
не пойму помоги пожалуйста решить проблему
Код: Выделить всё
<?include_once("config.php"); if ($_POST) {$first = $_POST['fromid'];$tbname = $_POST['fromtb']; if (trim($first) == '') {$first = "0";}$userids = "";$symbol = ""; db_connect($dbhost, $dbuser, $dbpass, $dbname);mysql_query("SET NAMES 'utf-8'");$result = mysql_query("SELECT * FROM $tbname LIMIT $first, 100");while ($row = mysql_fetch_array($result)) {if ($userids !== "") {$symbol = ",";}$userids = $userids.$symbol.$row[$idcolumn];} $mesage= $_POST['yourtext']; $rand = rand();$timestamp = time()+300; $sig = md5("api_id=".$api_id."message=".$mesage."method=secure.sendNotificationrandom=".$rand."timestamp=".$timestamp."uids=".$userids."v=2.0".$api_key);$postvars="api_id=".$api_id."&message=".$mesage."&method=secure.sendNotification&random=".$rand."×tamp=".$timestamp."&uids=".$userids."&v=2.0&sig=".$sig;// добавляем единицу в поле undelivered всем кому будем отправлять $userids = str_replace(" ","",$userids); $pieces = explode(",", $userids);$n = count($pieces);for ($i=0; $i<$n; $i++){echo "$pieces[$i]</br>";$dbquery = "UPDATE $tbname SET undelivered=undelivered+1 WHERE uid=$pieces[$i]";$dbresult = mysql_query($dbquery) or die(mysql_error());}// $chp = curl_init('http://api.vkontakte.ru/api.php');curl_setopt($chp, CURLOPT_HEADER,0);curl_setopt($chp, CURLOPT_RETURNTRANSFER ,1);curl_setopt($chp, CURLOPT_POST, 1);curl_setopt($chp, CURLOPT_POSTFIELDS, $postvars); $res = curl_exec($chp); curl_close($chp);$datetime = date("[H:i:s] ");$len = strlen($res);if ($len !== 51) {$check = strpos($res, 'Invalid');if ($check == false) {echo "$datetime Отправились уведомления до: $res </br>";// вычитаем единицу из поля undelivered пому отправилось $res = str_replace(" ","",$res);$pieceso = explode(",", $res);$n = count($pieceso);for ($i=0; $i<$n; $i++){echo "$pieceso[$i]</br>";$dbquery = "UPDATE $tbname SET undelivered=undelivered-1 WHERE uid=$pieceso[$i]";$dbresult = mysql_query($dbquery) or die(mysql_error());//} } else { echo "$datetime В данной позиции ID не найдены.";; }} else{echo "$datetime Ни одного уведомления не доставлено.";}} else echo "ERROR.";?>