0
私のAuthentication.phpクラスでは、以下のようなコードがあります。データベースにデータを挿入するPHP webservice
public function prepareTicket($data){
if(array_key_exists('tickettype', $data))
$this->tickettype = $data['tickettype'];
if(array_key_exists('ticketinfo', $data))
$this->ticketinfo = $data['ticketinfo'];
}
function createTicket(){
$sql = "INSERT INTO ticket_test (tickettype, ticketinfo) VALUES ('$this->tickettype','$this->ticketinfo')";
$result = mysqli_query($this->DB_CONNECTION,$sql);
}
function createTicketControl(){
$sql = "SELECT * FROM `ticket_test` WHERE tickettype = '".$this->tickettype."'AND ticketinfo ='".$this->ticketinfo."'";
$result = mysqli_query($this->DB_CONNECTION,$sql);
if(mysqli_num_rows($result) >0){
return true;
}else{
return false;
}
}
その他のphpファイルには、このようなコードがあります。
<?php
include_once 'Authentication.php';
use user\Authentication;
$auth = new Authentication();
$auth->prepareTicket($_POST);
$ticketStatus = $auth->createTicketControl();
if($ticketStatus){
$json['success'] = 1;
$json['message'] = 'Destek kaydı oluşturuldu';
}else{
$json['success'] = 0;
$json['message'] = 'Error!';
}
echo json_encode($json);
今私の問題は、私は私のデータベースにデータを挿入しようとするたびに、それは「成功」=「0」、「メッセージ」=「エラー」とデータcouldntのはdatabase.I平均に挿入されることを返すということですサービスは正常に動作していません。助けていただければ幸いです。
PS =このコードでSQLインジェクションの脅威を認識しています。それはアンドロイドアプリのため、心配する必要はありません。 solution.IがCreateTicket.phpに私はAuthentication.phpからcreateTicket関数を呼び出すdidintことに気づい見つかり
あなたは常にSQLインジェクションについて心配する必要があります。あなたのアプリケーションをインストールし、httpリクエストをアプリケーションから送信してから、奇妙なSQLコード – Mcsky
で本文を修正してください。**警告**:mysqliを使用するときは、[パラメータ化されたクエリ](http:// php。 net/manual/en/mysqli.quickstart.prepared-statements.php)と['bind_param'](http://php.net/manual/en/mysqli-stmt.bind-param.php)を使用して、ユーザーデータをあなたの質問。 **重大な[SQLインジェクションのバグ](http://bobby-tables.com/)を作成したため、文字列の補間または連結を使用してこれを実行しないでください。 ** '$ _POST'、' $ _GET'、**任意の**ユーザデータを直接クエリーに入れないでください。誰かがあなたのミスを悪用しようとすると非常に危険です。 ** SQLインジェクションについて心配です。常に**。 – tadman