数据未使用 XAMPP 存储在 mySQL 数据库中

Posted

技术标签:

【中文标题】数据未使用 XAMPP 存储在 mySQL 数据库中【英文标题】:Data is not getting stored in mySQL database using XAMPP 【发布时间】:2017-12-10 19:10:00 【问题描述】:

我已经使用名为 test226333 的 XAMPP 在 mysql 中创建了一个数据库,我正在尝试像这样将数据发送到表中 "http://localhost/write_data.php?value=100"for database and table details screenshot click here

我的php代码是

<?php

$dbusername = "ganesh"; 
$dbpassword = "varma";  
$server = "localhost"; 

$dbconnect = mysql_connect($server, $dbusername, $dbpassword);
$dbselect = mysql_select_db("test226333",$dbconnect);



$sql = "INSERT INTO test226333.data VALUES ('".$_GET["value"]."')";    


mysql_query($sql);


?>

进入链接时没有显示任何内容,并且数据没有存储在数据库中

请帮帮我 提前谢谢..

【问题讨论】:

我们应该如何访问本地主机? :// 请使用PDOmysqli 请阅读有关与数据库通信时最基本的错误控制和调试措施是什么。这已经解释了无数次了。 警告:如果您只是学习 PHP,请不要使用mysql_query 接口。它是如此可怕和危险,以至于它在 PHP 7 中被删除。像 PDO is not hard to learn 这样的替代品和像 PHP The Right Way 这样的指南解释了最佳实践。您的用户数据不是properly escaped,有SQL injection bugs,可以被利用。 【参考方案1】:

试试这个:

  $servername = "localhost";
    $username = "ganesh";
    $password = "varma";
    $dbname = "test226333";
    $mysqli = new mysqli($servername, $username, $password, $dbname);
    if ($mysqli->connect_errno) 
        echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
    

    /* Prepared statement, stage 1: prepare */
    if (!($stmt = $mysqli->prepare("INSERT INTO <your table name>(col1, col2, col3) VALUES (?, ?, ?)"))) 
         echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
    

    /* Prepared statement, stage 2: bind and execute */

    if (!$stmt->bind_param("i", $val1)) 
        echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
    
 if (!$stmt->bind_param("s", $val2)) 
        echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
    
if (!$stmt->bind_param("i", $val3)) 
        echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
    

    if (!$stmt->execute()) 
        echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
    

    /* explicit close recommended */
    $stmt->close();

【讨论】:

警告:当使用mysqli 时,您应该使用parameterized queries 和bind_param 将用户数据添加到您的查询中。 请勿使用字符串插值或连接来完成此操作,因为您创建了严重的SQL injection bug。 切勿$_POST$_GET任何用户数据直接放入查询中,如果有人试图利用您的错误,这可能会非常有害。 将其切换为mysqli 不是一个坏主意,但只是在查询中猛击$_GET 数据是非常糟糕的。提供建议时请务必小心谨慎。像这样的代码会被复制粘贴到生产环境中并造成严重的麻烦。

以上是关于数据未使用 XAMPP 存储在 mySQL 数据库中的主要内容,如果未能解决你的问题,请参考以下文章

Mysql - 数据库连接 - xampp - 使用 PHP [重复]

MySQL 数据库未启动 - 错误!服务器退出而不更新 PID 文件 - XAMPP OS X

Sql 数据库未在 mac 中启动 XAMPP

使用 XAMPP 在 Windows 8 上安装 Wordpress 但 PHP 未运行

修改XAMPP中mysql数据库的密码

MySQL 使用 XAMPP 连接到外部数据库