一些php函数不起作用

时间:2018-08-04 18:39:02

标签: php mysql

我正在开发票务系统(Osticket),使用最新版本的XAMPP(PHP 7.2.7)安装我的环境,并完成了项目,一切正常。

当我在手动安装的php上测试我的代码时,mysql票务系统工作正常,而新添加的代码的一部分工作正常。

不起作用的是mysqli:

query: "INSERT INTO scan_files(file_name , sha256 , result ,  ticket_number , 
topic , topic_id) VALUES ('$file_name' , '$hash_of_file' , '1' 
,'$get_ticket_id' , '$topicNum' , '$topicID')"

同样fopen功能不起作用:

file_put_contents('/srv/http/ost/scan/apires.txt', 
print_r($api_reply_array['positives'], true));

$myfile = fopen("/srv/http/ost/scan/newfile.txt", "w") ;
$txt = "John Doe\n";
fwrite($myfile, $txt);
$txt = $hash_of_file . "\n";
fwrite($myfile, $txt);
$txt = $api_reply_array['positives'] . "\n";
fwrite($myfile, $txt);
$txt = $file_name . "\n";
fwrite($myfile, $txt);
fclose($myfile);

我授予文件夹权限并授予我的代码权限。 我认为需要一些模块。

在xampp环境下一切正常,但是手动安装php和mysql时出现问题。

php版本是7.2.8

mysql版本为Server版本:10.1.34-MariaDB-MariaDB服务器

2 个答案:

答案 0 :(得分:0)

用给定的描述识别确切的问题非常困难。

但是,您可以将以下行添加到PHP代码的顶部以启用错误报告,从而确定确切的问题。

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
  

PS:要同时启用解析错误,请编辑php.ini文件并添加   display_errors = on

答案 1 :(得分:-1)

问题1

对于您的MySQL问题,可能是列与实际的SQL模式不匹配,或者表不存在,或者您的一个或多个PHP变量没有值,但是您的模式已设置禁止使用空字段值。

话虽如此,我强烈建议您在与数据库交互时使用准备好的语句

问题2

使用fopen issue可能是文件权限问题或路径不存在。即file_put_contents不会为您创建目录结构。