[英]PHP script to connect to SQL
我正在学习PHP。 我正在使用一个php文件来处理sql表的表单数据,并且它具有服务器名称,用户,密码和dbname来执行sql-connect查询。 当然,它在网站的公共目录中。 这是一种安全的方法还是任何建议都值得赞赏。 示例如下:
$name = $_POST['name'];
$phn = $_POST['phn'] ;
$servername = "localhost";
$username = "abc";
$password = "abc";
$dbname = "abc";
// Create connection
$conn = mysqli($servername, $username, $password, $dbname);
使用mysqli扩展进行连接使您能够使用更新的MySQL功能,例如事务查询和参数化查询,而旧的mysql扩展则不提供这些功能。
您的mysql应该是mysqli_connect ()
您可以将数据库凭据存储在任何地方,但最好使用以下方法将它们存储在主PHP文件夹之外的位置:
/config/db.config.php
<?php
define('DB_USER', 'root');
define('DB_PASS', 'pass');
define('DB_DATABASE', 'database');
define('DB_HOST', 'host');
如果您将其存储在php文件夹的内部,则每次将代码从本地复制到Web时,都将覆盖您的配置。 同样,这样的文件是安全的(如果您从Web上访问它,您将看不到任何内容),但是我建议不要将.htaccess文件放在此处deny for all
内容deny for all
。 另外,我建议不要在没有任何包装的情况下不要使用mysqli_connect。 (最好将PDO与参数化查询一起使用)。 但是,如果您想使用mysqli,最好在Web上搜索一个好的包装,或者自行编写。 根据我的经验,使用mysqli的最佳方法是使用静态函数创建类:
class DB {
public static function init($dbHost, $dbUser, $dbPass, $db);
public static function getTable($query);//get array of arrays
public static function getRow($query);//get array (one database row)
public static function getCell($query);//get single value
public static function getColumn($query);//get array (column)
public static function query($query);//update, delete, insert
}
因为使用此类,您将可以使用以下方法在脚本的任何位置获取数据:
$list = DB::getTable("select * from table");
在实例化MySQLi连接之前,您忘记了new
。
尝试以下方法:
$conn = new mysqli($servername, $username, $password, $dbname);
请尝试这个
<?php
$servername = "localhost";
$username = "abc";
$password = "abc";
$dbname = "abc";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
$name = $_POST['name'];
$phn = $_POST['phn'] ;
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.