Permissions Mysql插入查询在php脚本中不起作用-权限问题? 问题描述

Permissions Mysql插入查询在php脚本中不起作用-权限问题? 问题描述,permissions,Permissions,我无法使用php写入Mysql表。本机命令行使用mysql客户端工作。但我可以在所有变体中进行“选择”——这似乎是一个权限问题,但是什么类型的?mysql凭据是相同的 我有一个全新的Debian7.6,安装了Apache、PHP和Mysql,所有这些都来自存储库。PHP是特殊的,我的应用程序需要PHP5.3。(原始7.6回购协议只有php 5.4)。所以我按照中的建议安装了PHP 测验 已安装的软件包: root@{servername}:/var/www# dpkg -l | grep php

我无法使用php写入Mysql表。本机命令行使用mysql客户端工作。但我可以在所有变体中进行“选择”——这似乎是一个权限问题,但是什么类型的?mysql凭据是相同的

我有一个全新的Debian7.6,安装了Apache、PHP和Mysql,所有这些都来自存储库。PHP是特殊的,我的应用程序需要PHP5.3。(原始7.6回购协议只有php 5.4)。所以我按照中的建议安装了PHP

测验 已安装的软件包:

root@{servername}:/var/www# dpkg -l | grep php ii libapache2-mod-php5 5.3.3-7+squeeze19 amd64 server-side, HTML-embedded scripting language (Apache 2 module) ii php5 5.3.3-7+squeeze19 all server-side, HTML-embedded scripting language (metapackage) ii php5-cli 5.3.3-7+squeeze19 amd64 command-line interpreter for the php5 scripting language ii php5-common 5.3.3-7+squeeze19 amd64 Common files for packages built from the php5 source ii php5-curl 5.3.3-7+squeeze19 amd64 CURL module for php5 ii php5-gd 5.3.3-7+squeeze19 amd64 GD module for php5 ii php5-mysql 5.3.3-7+squeeze19 amd64 MySQL module for php5 ii php5-suhosin 0.9.32.1-1 amd64 advanced protection module for php5 ii php5-xmlrpc 5.3.3-7+squeeze19 amd64 XML-RPC module for php5 root@{servername}:/var/www# dpkg -l | grep mysql ii libdbd-mysql-perl 4.021-1+b1 amd64 Perl5 database interface to the MySQL database ii libmysqlclient16 5.1.73-1 amd64 MySQL database client library ii libmysqlclient18:amd64 5.5.38-0+wheezy1 amd64 MySQL database client library ii mysql-client 5.5.38-0+wheezy1 all MySQL database client (metapackage depending on the latest version) ii mysql-client-5.5 5.5.38-0+wheezy1 amd64 MySQL database client binaries ii mysql-common 5.5.38-0+wheezy1 all MySQL database common files, e.g. /etc/mysql/my.cnf ii mysql-server 5.5.38-0+wheezy1 all MySQL database server (metapackage depending on the latest version) ii mysql-server-5.5 5.5.38-0+wheezy1 amd64 MySQL database server binaries and system database setup ii mysql-server-core-5.5 5.5.38-0+wheezy1 amd64 MySQL database server binaries ii php5-mysql 5.3.3-7+squeeze19 amd64 MySQL module for php5 root@{servername}:/var/www# dpkg -l | grep apache ii apache2-mpm-prefork 2.2.22-13+deb7u3 amd64 Apache HTTP Server - traditional non-threaded model ii apache2-utils 2.2.22-13+deb7u3 amd64 utility programs for webservers ii apache2.2-bin 2.2.22-13+deb7u3 amd64 Apache HTTP Server common binary files ii apache2.2-common 2.2.22-13+deb7u3 amd64 Apache HTTP Server common files ii libapache-pom-java 10-2 all Maven metadata for all Apache Software projects ii libapache2-mod-dnssd 0.6-3 amd64 Zeroconf support for Apache 2 via avahi ii libapache2-mod-php5 5.3.3-7+squeeze19 amd64 server-side, HTML-embedded scripting language (Apache 2 module) root@{servername}:/var/www#dpkg-l|grep php ii libapache2-mod-php5 5.3.3-7+squeeze19 amd64服务器端HTML嵌入式脚本语言(Apache 2模块) ii php5 5.3.3-7+squeeze19全服务器端HTML嵌入式脚本语言(元包) ii php5 cli 5.3.3-7+用于php5脚本语言的squeeze19 amd64命令行解释器 ii php5通用5.3.3-7+压缩19 amd64通用文件,用于从php5源代码构建的包 ii php5卷曲5.3.3-7+用于php5的挤压19 amd64卷曲模块 ii php5 gd 5.3.3-7+用于php5的挤压19 amd64 gd模块 ii php5 mysql 5.3.3-7+用于php5的挤压19 amd64 mysql模块 ii php5 suhosin 0.9.32.1-1用于php5的amd64高级保护模块 ii php5 xmlrpc 5.3.3-7+用于php5的挤压19 amd64 XML-RPC模块 root@{servername}:/var/www#dpkg-l|grep mysql ii libdbd mysql perl 4.021-1+b1 amd64 Perl5数据库接口到mysql数据库 ii libmysqlclient16 5.1.73-1 amd64 MySQL数据库客户端库 ii libmysqlclient18:amd64 5.5.38-0+wheezy1 amd64 MySQL数据库客户端库 ii mysql客户端5.5.38-0+wheezy1全mysql数据库客户端(元包取决于最新版本) ii mysql-client-5.5.5.38-0+wheezy1 amd64 mysql数据库客户端二进制文件 ii mysql common 5.5.38-0+wheezy1所有mysql数据库通用文件,例如/etc/mysql/my.cnf ii mysql server 5.5.38-0+wheezy1全mysql数据库服务器(元包取决于最新版本) ii mysql-server-5.5.5.38-0+wheezy1 amd64 mysql数据库服务器二进制文件和系统数据库设置 ii mysql-server-core-5.5.5.38-0+wheezy1 amd64 mysql数据库服务器二进制文件 ii php5 mysql 5.3.3-7+用于php5的挤压19 amd64 mysql模块 root@{servername}:/var/www#dpkg-l|grep apache ii apache2 mpm prefork 2.2.22-13+deb7u3 amd64 Apache HTTP服务器-传统的非线程模型 ii用于Web服务器的apache2 utils 2.2.22-13+deb7u3 amd64实用程序 ii apache2.2-bin 2.2.22-13+deb7u3 amd64 Apache HTTP服务器通用二进制文件 ii apache2.2-common 2.2.22-13+deb7u3 amd64 Apache HTTP服务器通用文件 ii所有Apache软件项目的libapache pom java 10-2所有Maven元数据 ii通过avahi对Apache2的libapache2 mod dnssd 0.6-3 amd64 Zeroconf支持 ii libapache2-mod-php5 5.3.3-7+squeeze19 amd64服务器端HTML嵌入式脚本语言(Apache 2模块) 我的PHP测试脚本:

root@{servername}:/var/www# cat testscript.php 
<?php

ini_set('display_errors', 'on');
error_reporting('E_ALL');

$db = mysql_connect('localhost', '{applicationname}', '{password}');
mysql_select_db('{applicationname}');

$result = mysql_fetch_assoc(mysql_query('SELECT * from clients'));
print_r($result);
echo "\n\n";

$code = mysql_query("INSERT INTO clients VALUES ('2', 'TestEntry', 'Test xy', 0)");

$result = mysql_fetch_assoc(mysql_query('SELECT * from clients'));
print_r($result); print_r($code);
print mysql_error(); echo "\n\n";

$code = mysql_query("DELETE FROM clients where ClientID = 2");

$result = mysql_fetch_assoc(mysql_query('SELECT * from clients'));
print_r($result); print_r($code);
print mysql_error(); echo "\n\n";
root@{servername}:/var/www#cat testscript.php

你发布的代码有点循环。。。你能试试下面的菜吗?您的php测试似乎表明
INSERT
DELETE
这两种方法都有效(例如:
print\r(true)==1
)。 实际上,
mysql\u error()
位于错误的位置。我会再检查一下。(目前我没有获得有关insert查询的信息,它是下面的select) mysql> use {applicationname} Database changed mysql> select * from clients; +----------+------------+-------------------+--------------+ | ClientID | ClientName | ClientDescription | ParentClient | +----------+------------+-------------------+--------------+ | 1 | CPN | Company Name | 0 | +----------+------------+-------------------+--------------+ 1 row in set (0.00 sec) mysql> INSERT INTO clients VALUES ('2', 'TestEntry', 'Test xy', 0); Query OK, 1 row affected (0.00 sec) mysql> select * from clients; +----------+------------+-------------------+--------------+ | ClientID | ClientName | ClientDescription | ParentClient | +----------+------------+-------------------+--------------+ | 1 | CPN | Company Name | 0 | | 2 | TestEntry | Test xy | 0 | +----------+------------+-------------------+--------------+ 2 rows in set (0.00 sec) mysql> delete from clients where ClientID=2; Query OK, 1 row affected (0.00 sec) mysql> select * from clients; +----------+------------+-------------------+--------------+ | ClientID | ClientName | ClientDescription | ParentClient | +----------+------------+-------------------+--------------+ | 1 | CPN | Company Name | 0 | +----------+------------+-------------------+--------------+ 1 row in set (0.00 sec) root@{servername}:/var/www# php testscript.php Array ( [ClientID] => 1 [ClientName] => CPN [ClientDescription] => Company Name [ParentClient] => 0 ) Array ( [ClientID] => 1 [ClientName] => CPN [ClientDescription] => Company Name [ParentClient] => 0 ) 1 Array ( [ClientID] => 1 [ClientName] => CPN [ClientDescription] => Company Name [ParentClient] => 0 ) 1
ini_set('display_errors', 'on');
error_reporting('E_ALL');

$db = mysql_connect('localhost', '{applicationname}', '{password}');
mysql_select_db('{applicationname}');

echo "--Initial Select\n--";
$result = mysql_fetch_assoc(mysql_query('SELECT * from clients'));
var_dump($result);

echo "--Initial Insert\n--";
$code = mysql_query("INSERT INTO clients VALUES ('2', 'TestEntry', 'Test xy', 0)");
var_dump($code);
var_dump(mysql_error());

echo "--Select after Insert\n--";
$result = mysql_fetch_assoc(mysql_query('SELECT * from clients'));
var_dump($result);

echo "--Delete\n--";
$code = mysql_query("DELETE FROM clients where ClientID = 2");
var_dump($code);
var_dump(mysql_error());

echo "--select after deletion--\n";
$result = mysql_fetch_assoc(mysql_query('SELECT * from clients'));
var_dump($result);