PHP自制查询功能不起作用

时间:2014-01-15 20:59:48

标签: php mysql

您好我刚开始学习PHP并且相信学习我必须练习,犯错误并纠正它们。老实说,我不知道PHP,因此我的问题看似简单,也许对你们有些不合逻辑。如果我打扰它,请原谅我,但我想学习。 谢谢。 我的问题是我想创建一个可以在需要查询MySQL时从不同的PHP文件调用的函数。函数queryMysql(),当我调用createTable()时,它从函数createTable()中调用。

function createTable($name, $query)
 {
queryMysql("CREATE TABLE IF NOT EXISTS $name($query)");
echo "Table '$name' created or already exists.<br />";
 }

function queryMysql($query)
{
$result = $conection->query($query) or die(mysqli_error());
return $result;
}

我从不同的PHP文件中调用createTable(),如下所示:

createTable('members',
    'user VARCHAR(16),
    pass VARCHAR(16),
    INDEX(user(6))');

我包含带有include_once的文件,其中函数来自我调用函数的位置,但是当我加载文件时,浏览器根本不显示任何内容,甚至不显示错误。

有人可以帮助我了解为什么它似乎没有执行我的功能吗?谢谢。

1 个答案:

答案 0 :(得分:0)

首先,您应该检查为什么没有显示任何错误。通常这是因为在您的服务器中php.ini文件display_errors设置为false。

最简单的检查方法是创建一个文件phpinfo.php,其中包含一行调用

<?php phpinfo();

要检查的两个值是display_errors(如果要显示错误)和error_reporting(显示哪种错误)

您可以使用ini_set()

进行设置

在您的脚本中,$ conection变量在queryMysql()函数中不可用。如果您正在使用全局变量(这被认为是坏习惯),您必须在函数的开头使用“global $ conection;”来说明。要查找的关键字是“变量范围”。

更好的方法是在queryMysql()函数中使用$ connection作为参数(如$ query)。