在我的 Authentication.php 类中,我有如下代码;
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);
现在我的问题是,每当我尝试将数据插入数据库时,它都会返回 'success' = '0' 、 'message' = 'Error' 并且数据无法插入到数据库中。我的意思是该服务不是工作正常。感谢任何帮助...
P.S.= 我知道此代码存在 SQL 注入(inject)威胁,但它是针对 Android 应用程序的,因此无需担心。
最佳答案
找到了解决方案。我意识到在 CreateTicket.php 中我没有从 Authentication.php 调用 createTicket 函数:/
关于PHP Web服务将数据插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45760449/