我如何从 SQL 字符串调用 php Require
Posted
技术标签:
【中文标题】我如何从 SQL 字符串调用 php Require【英文标题】:How can i call php Require from SQL string 【发布时间】:2019-08-26 16:57:22 【问题描述】:我正在寻求以下帮助
所以我使用 php 7.1 和 MSSQL 2017 以及 IIS
我有一些表太大而无法硬编码或从中创建文本以输入 SQL 表,因此我创建了一个带有查询的单独文件来显示表。
但是当我尝试添加到“<?php require'table1.php';?>
”时
作为另一个表中的文本或字符串,并在浏览器中设置它会被浏览器注释掉
有什么方法可以在不被注释掉的情况下执行 require 吗?
现在我刚刚为要在新选项卡中打开的表格创建了一个链接,但我真的要在原始文档中打开什么。
所以文件 1 是显示信息的主要查询。
文件 2 对表运行另一个查询,我想在主查询上设置 <?php require'table1.php';?>
,以便它在文件 1 中显示文件 2 的内容,而不是打开一个新选项卡。
主表是这样的
标题 - ID - 消息
一些东西 - RK1 - 一些重要的东西
东西 2 - RK2 - <?php require'table1.php';?>
Something 3 - RK3 - 有点重要的东西
如果让我感到困惑,我深表歉意,请告诉我。
感谢您的帮助,tyvm。
【问题讨论】:
我根本不关注这个。这是什么意思:but when i try to add to "<?php require'table1.php';?>" as a Text or string in another database,
?我不明白requiring
文件table1.php
中保存的另一个php 脚本如何设置为“另一个数据库中的文本或字符串”?我觉得table
database
和这里的其他术语都相互混淆了。
是的,哈哈。因此,其中一个单元格中的文件一中的表格具有要求“”,整列设置为文本,我希望这能消除我的愚蠢。因此,当 SQL 查询表格内容时,该单元格中的值会被注释掉。
【参考方案1】:
将代码存储在数据库中绝不是一个好主意,因为如果您的数据库受到威胁,那么任何设法访问您的数据库的人也将可以访问您服务器上运行的 php 代码,并且可以造成更大的伤害。
我认为您想要实现的目标可以仅在您的 php 文件中完成。
为什么不在主文件中只需要 table1.php
文件?
编辑: 在您的主 php 文件中,您可以创建一个 ajax 脚本可以与之通信的部分,允许您检索必要的表内容,如下所示:
<?php
if(isset($_POST['tableChange']))
$tableToDisplay = $_POST['tableChange'];
switch($tableToDisplay)
case 'A':
$realTableName = 'TableA';
$isValidTable = true;
break;
case 'B':
$realTableName = 'TableB';
$isValidTable = true;
break;
default:
$isValidTable = false;
break;
if($isValidTable)
$tableContents = mysql_fetch_array(mysql_query("SELECT * FROM `".$realTableName."`"));
//Then you can retrieve what ever rows you want from the current table with the array you create with mysql_fetch_array
$row1 = $tableContents['name_of_row1'];
$row2 = $tableContents['name_of_row2'];
echo 'row1: '.$row1.' row2: '.$row2;
?>
然后您可以向主 php 文件发出 ajax POST 请求,该文件传递一条名为“tableChange”的数据,其中包含一个表示表标识符的字符串。在这种情况下,它必须设置为“A”或“B”才能被接受。
这是一个使用 jQuery 的示例:
$.ajax(
url: 'main.php',
type: 'POST',
data: tableChange: 'B',
dataType: 'html',
complete: function(dataReturned)
//Now print the contents of the dataReturned variable to the screen how ever you want
);
【讨论】:
所有信息都发生了变化,使用 AJAX 它会更改 ID 以通过单击显示不同的信息,单击选项获取表 A,单击选项获取表 B 等等,这就是这个想法的原因tableception 对我很有吸引力,否则我只会将它们设置为新标签。 PS。我想做的事情并不适合公众(如果有帮助的话) 我刚刚更新了我的答案,举例说明了如何在不将代码存储在数据库中的情况下动态加载表的内容。如果您有任何问题,请告诉我。以上是关于我如何从 SQL 字符串调用 php Require的主要内容,如果未能解决你的问题,请参考以下文章
如何从客户端javascript调用节点函数? (HTML)
PHP $connection->query($sql) 在 AJAX 调用期间从 PHP 脚本调用时返回 FALSE? [复制]