PHP自制查询功能不起作用

标签 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 包含文件,其中的函数来 self 调用函数的位置,但是当我加载文件时,浏览器根本不显示任何内容,甚至不显示错误。

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

最佳答案

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

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

<?php phpinfo();

要检查的两个值是 display_errors (如果要显示错误)和 error_reporting (显示什么类型的错误)

您可以使用 ini_set() 来设置两者

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

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

关于PHP自制查询功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21148072/

相关文章:

mysql - 如何选择具有唯一列值的行并计算计数?

php - 第一次访问索引后启动屏幕消失

php - 类 App\Http\Controllers\AdminController 不存在

php - 在 joomla ADMIN 登录表单中记住我复选框。如何?

php - 将数据库信息存储为数组

php - 错误的整数值 : '' for column 'id'

sql - mySQL 选择并按值分组

PHP Javascript/CSS 打包工具(如 Haste/Juicer)

php - Javascript 函数,如 php POST

php - 使用 completionHandler 创建一个 Swift 5 函数来打印 JSON 数据