【问题标题】:errors in my form (php and mysql)我的表单中的错误(php和mysql)
【发布时间】:2018-03-06 11:59:04
【问题描述】:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');

$aa = (isset($_POST['aa'])) ? $_POST['aa'] : false;
$a= (isset($_POST['a'])) ? $_POST['a'] : false;
$b = (isset($_POST['b'])) ? $_POST['b'] : false;
$c = (isset($_POST['c'])) ? $_POST['c'] : false;
$d = (isset($_POST['d'])) ? $_POST['d'] : false;
$e = (isset($_POST['e'])) ? $_POST['e'] : false;
$f = (isset($_POST['f'])) ? $_POST['f'] : false;
$g = (isset($_POST['g'])) ? $_POST['g'] : false;


if ($aa && $c) {



    $query = "INSERT INTO casa
              VALUES ('$aa', '$a', '$b', '$c', '$d', '$e', '$f', '$g', 1);";


    $conexion = mysqli_connect('localhost','hostname','password','data_base');



    $resultado = mysqli_query($conexion, $query);


    if ($resultado) {

        echo 'OK';
    } else if (mysqli_errno($conexion) == 1062) {

        echo 'Duplicado';
    } else {

        echo 'Error';
    }
} else {

    //header("Location: index.html");
       echo 'asad';
}

当我将所有填写上传到虚拟主机时,我会称赞所有表格并在发送时:

警告:mysqli_connect(): (HY000/2002): No such file or directory in /home/vol4_2/260mb.net/n260m_21275877/xxxx.260mb.org/htdocs/form.php 在第 26 行警告:mysqli_query() 期望参数 1 为 mysqli, 布尔值 /home/vol4_2/260mb.net/n260m_21275877/xxxx.260mb.org/htdocs/form.php 第 30 行错误

第 26 行是连接,第 30 行是mysqli_query

我需要一些帮助。谢谢!!

【问题讨论】:

  • 您没有检查连接是否通过,因此您将FALSE 作为第一个参数传递给mysqli_query。检查mysqli_connect的参数是否正确。
  • 打印mysqli_connect_error() 看看是什么错误.. 无法连接。 php.net/manual/en/function.mysqli-connect.php
  • BTW:查看“SQL 注入”的含义。您的代码很容易受到攻击。
  • 我打印 `mysqli_connect_error()`,这是错误:无法连接到 MySQL。调试错误:2002 调试错误:没有这样的文件或目录
  • 您确定您的数据库服务器已启动并在本地主机上运行吗?

标签: php html mysql forms


【解决方案1】:

我不确定您是否在数据库中更改或重命名了用户名和密码, 所以这就是你的案子来自这里的原因,所以请检查这一行

$conexion = mysqli_connect('localhost','hostname','password','data_base');

【讨论】:

    【解决方案2】:

    问题出在您托管的 MySQL 服务器上。

    如果它是共享主机,请向提供商写票,您会收到错误消息:“无法连接到 MySQL。调试 errno:2002 调试错误:没有这样的文件或目录”。

    如果您使用的是 VPS 或本地服务器,请检查 mysql.sock 文件是否存在于正确的路径中并具有写入权限。

    在 my.cnf 配置文件中,您可以更正并检查 mysql.sock 文件的路径:

    [Mysqld]
    socket = /tmp/mysql.sock
    [Client]
    socket = /tmp/mysql.sock
    

    然后重启服务器/etc/init.d/mysql restart

    相关问题: Warning: mysql_connect(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in

    【讨论】:

    • 我使用 260mb.net 作为我的主机。但我不知道我应该改变什么来修复它
    • 尝试与支持人员联系并向他们展示您遇到的错误。这取决于您使用的托管设置或连接凭据。
    猜你喜欢
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多