我正在使用以下 php 查询在我的 CMS 系统中安装表格:
$q=new mysql("
INSERT INTO `adm` (`id`, `login`, `adm`, `passwd`, `czas`, `logged`, `ip`, `email`) VALUES
(0, 'admin', 1, PASSWORD('admin'), 0, 0, '0.0.0.0', 'admin@domain.com');
");
但是,我不想使用电子邮件 admin@domain.com,而是使用存储在 /settings/contact.inc.php
文件中的电子邮件:
<?php
$emailaddress='admin@domain.com';
?>
最佳答案
只需包含文件并使用变量:
require_once("/settings/contact.inc.php");
$q=new mysql("
INSERT INTO `adm` (`id`, `login`, `adm`, `passwd`, `czas`, `logged`, `ip`, `email`) VALUES
(0, 'admin', 1, PASSWORD('admin'), 0, 0, '0.0.0.0', '$emailaddress');
");
谨防SQL注入(inject)
在这种情况下,您知道 $emailaddress
的来源,您可以信任其中的内容。在其他情况下,您需要保护您的代码免受 SQL injection 的影响。 .
因此,我建议您使用 prepared statements , 使用 mysqli
功能。
然后您可以用问号或命名占位符替换查询中的变量:
"INSERT INTO `adm` (`id`, `login`, `adm`, `passwd`, `czas`, `logged`, `ip`, `email`) VALUES (0, 'admin', 1, PASSWORD('admin'), 0, 0, '0.0.0.0', ?);"
并使用 mysqli_stmt_bind_param 绑定(bind) $emailaddress
功能。
关于php - 如何将文件内容添加到 PHP 中的 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16668851/