短信网关不会发送短信

时间:2017-10-15 13:21:43

标签: php mysql

我正在尝试做一个简单的选择并通过短信网关发送它但是当我发送应该运行该功能的消息时没有任何反应。这是我写的功能。发件人应该发送“utakmice x”,其中x是从数据库发送的下一个x事件的编号:

function utakmice($broj) {
  $conn = connect();
  if ($conn->connect_error) {
    $smsporuka = "Ne moze se uspostaviti konekcija sa bazom, pokusajte kasnije.";
  } else {
    $query = "SELECT * FROM utakmica ORDER BY datum LIMIT = $broj;";
    $rezultat = mysql_query($query);
    if($rezultat) {
      if(mysql_num_rows($rezultat) !== 0) {
        $smsporuka="";
        while($red = mysql_fetch_array($rezultat)) {
          $smsporuka .= "(".$red["id_tekma"]." ".$red["protivnik"].",".$red["cena"]."RSD datum: ".$red["datum"].")";
        }
      } else {
        $smsporuka = "Nema selektovanih utakmica!";
      }
    }
  }
  disconnect($conn);
  sendResponse($smsporuka);
}

以下是函数之前的代码,函数信息的工作原理是:

function sendResponse($t) {
  $reply = rawurlencode($t);
  header("Content-Type: text/html; charset=utf-8");
  header("text: ".$reply);
}

if(empty($text) || strlen($text) == 0 || $text == "") {
  $smsporuka = "Poslali ste sms poruku u losem formatu, za vise informacija posaljite INFO.";
  sendResponse($smsporuka);
} else {
  $text = str_replace(";", "", $text);
  $explodeovanText = explode(' ',trim($text));
  $komanda = strtolower($explodeovanText[0]);
  switch ($komanda) {
    case "info":
      info();
      break;
    case "utakmice":
      utakmice($explodeovanText[1]);
      break;
    case "dodaj":
      dodaj($explodeovanText[1], $explodeovanText[2]);
      break;
    case "rezervisi":
      rezervisi($explodeovanText[1], $explodeovanText[2]);
      break;
    case "otkazi":
      otkazi($explodeovanText[2]);
      break;
  }
}

function info() {
  $smsporuka = "Posaljite UTAKMICA da bi ste videli narednih 5 protivnika i datume utakmica. Posaljite REZ_x_y, gde je x id utakmice, a y broj mesta koje rezervisete.";
  sendResponse($smsporuka);
}

1 个答案:

答案 0 :(得分:0)

我解决了! mysql函数应该是mysqli,查询不正确。这是解决方案。同样在开始时我将默认参数设置为5。

function utakmice($broj = 5) {
  $smsporuka = "";
  $conn = connect();
  if ($conn->connect_error) {
     $smsporuka = "Ne moze se uspostaviti konekcija sa bazom, pokusajte kasnije.";
  } else {
      $query = "SELECT * FROM utakmica ORDER BY datum LIMIT $broj;";
      $rezultat = mysqli_query($conn, $query);
      if($rezultat) {
        if(mysqli_num_rows($rezultat) !== 0) {
           $smsporuka="";
           while($red = mysqli_fetch_array($rezultat)) {
             $smsporuka .= "(".$red["id_tekma"]." ".$red["protivnik"].",".$red["cena"]."RSD datum: ".$red["datum"].")";
           }
        } 
        else {
    $smsporuka = "Nema selektovanih utakmica!";
        }
      }
   }
disconnect($conn);
sendResponse($smsporuka);
}