Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP插入错误。。什么都试过了_Php_Mysql_Database_Forms_Sql Insert - Fatal编程技术网

PHP插入错误。。什么都试过了

PHP插入错误。。什么都试过了,php,mysql,database,forms,sql-insert,Php,Mysql,Database,Forms,Sql Insert,可能是我的MySQL PHP知识太生疏了。。我清除了所有可能的错误,但仍然无法写入数据库。有谁能解释一下什么是错误的,因为它甚至不再打印错误了。谢谢: <?php $conn=mysql_connect("127.0.0.1","root","","pe_results"); if (isset($_POST['Name'])) { $Name = $_POST['Name']; } if (isset($_POST[

可能是我的MySQL PHP知识太生疏了。。我清除了所有可能的错误,但仍然无法写入数据库。有谁能解释一下什么是错误的,因为它甚至不再打印错误了。谢谢:

<?php
$conn=mysql_connect("127.0.0.1","root","","pe_results"); 


        if (isset($_POST['Name'])) { 
        $Name = $_POST['Name'];
        }
        if (isset($_POST['Short'])) { 
        $Short = $_POST['Short'];
        }
        if (isset($_POST['Med'])) { 
        $Med = $_POST['Med'];
        }
        if (isset($_POST['Long'])) { 
        $Long = $_POST['Long'];
        }
        if (isset($_POST['VLong'])) { 
        $VLong = $_POST['VLong'];
        }
        if (isset($_POST['Extreme'])) { 
        $Extreme = $_POST['Extreme'];
        }
        if (isset($_POST['LJump'])) { 
        $LJump = $_POST['LJump'];
        }
        if (isset($_POST['HJump'])) { 
        $HJump = $_POST['HJump'];
        }
        if (isset($_POST['Shotputt'])) { 
        $Shotputt = $_POST['Shotputt'];
        }
        if (isset($_POST['Discuss'])) { 
        $Discuss = $_POST['Discuss'];
        }
        if (isset($_POST['Javelin'])) { 
        $Javelin = $_POST['Javelin'];
        }
        if (isset($_POST['Date'])) { 
        $Date = $_POST['Date'];
        }
        if (isset($_POST['Year'])) { 
        $Year = $_POST['Year'];
        }



            $sql="INSERT INTO results_main (Name, Short, Med, Long, VLong, Extreme, LJump, HJump, Shotputt, Discuss, Javelin, Date, Year)
            VALUES ('$Name', '$Short', '$Med', '$Long', '$VLong', '$Extreme', '$LJump', '$HJump', '$Shotputt', '$Discuss', '$Javelin', '$Date', '$Year')";

    $result = mysql_query($sql,$conn);
        if($result){
echo"<br/>Everythings been saved";
echo "<BR>";
echo "<a href='index.html'>Back to the main page</a>";
}

else {
echo 'Fatal Error, you information has not been saved';
}

// close connection 
mysql_close($conn);
?>
阅读,mysql\u connect
的第四个参数应该是一个bollean,我猜这是您数据库的名称,所以您从不选择任何数据库。使用:

mysql_select_db("pe_results");
此代码可能已打印此错误:

$result = mysql_query($sql,$conn) or die (mysql_error ());

这意味着您没有选择数据库。下面是我如何连接mysql_uu函数的:

$host = "localhost";
$databasename = "pe_results";
$databaseusername = "root";
$databasepassword = "password";

$conn = mysql_connect("$host", "$databaseusername", "$databasepassword"); 
mysql_select_db("$databasename", $conn); 

$sql="INSERT INTO results_main (`Name`, `Short`, `Med`, `Long`, `VLong`, `Extreme`, `LJump`, `HJump`, `Shotputt`, `Discuss`, `Javelin`, `Date`, `Year`)
        VALUES ('$Name', '$Short', '$Med', '$Long', '$VLong', '$Extreme', '$LJump', '$HJump', '$Shotputt', '$Discuss', '$Javelin', '$Date', '$Year')";

$result = mysql_query($sql);
另外请注意,更新了列名,因为长列名是一个mysql关键字,所以需要将其识别为列名而不是关键字


然后可以执行mysql\u查询。但是,正如我们前面提到的。mysql_uu函数已弃用,不应再使用。

您在创建连接时没有选择数据库,因此可以这样指定:

mysql_select_db("Put your Database Name Here");
这个字在MySQL中是一个保留字。。。尝试将所有内容包装在backticks中:

        $sql="INSERT INTO `results_main` (`Name`, `Short`, `Med`, `Long`, `VLong`, `Extreme`, `LJump`, `HJump`, `Shotputt`, `Discuss`, `Javelin`, `Date`, `Year`)
        VALUES ('$Name', '$Short', '$Med', '$Long', '$VLong', '$Extreme', '$LJump', '$HJump', '$Shotputt', '$Discuss', '$Javelin', '$Date', '$Year')";
而不是

        $sql="INSERT INTO results_main (Name, Short, Med, Long, VLong, Extreme, LJump, HJump, Shotputt, Discuss, Javelin, Date, Year)
        VALUES ('$Name', '$Short', '$Med', '$Long', '$VLong', '$Extreme', '$LJump', '$HJump', '$Shotputt', '$Discuss', '$Javelin', '$Date', '$Year')";

当你在你的任何一个价值观中加上一个引号时会发生什么
mysql\u error
将告诉您错误是什么。如果您将insert语句设置为$result=mysql\u query($sql,$conn)或die(mysql\u error());上面说什么?另外,mysql*函数也不推荐使用三个要点:1)
mysql\u query
不推荐使用,2)您的代码易受注入攻击,3)如果您要使用不推荐的
mysql\u
API,那么调试失败查询的第一步是检查
mysql\u error()的输出,执行此操作会返回“未选择数据库”?完全被难住了。datasage,这样做打印:注意:未定义变量:Year在C:\xampp\htdocs\process.php的第56行,虽然这是我在引号中的值,但很抱歉,我已经很长时间没有使用mysql了,我对mysqli不够熟悉,无法尝试这样做谢谢你的回答,这让我回到了起点,只打印我的错误消息,不完全确定$result=mysql\u查询($sql,$conn)或死亡(mysql\u error())的位置;现在这种情况发生了,您的SQL语法有一个错误;查看与MySQL服务器版本对应的手册,以了解使用查询
echo$sql第1行中的“Long、VLong、Extreme、LJump、HJump、shotput、discussion、Javelin、Date、Year”的正确语法在你真正尝试执行它并用它的输出编辑你的问题之前。它只是在第16行说这是一个未定义的变量。。我真的是stuck@ChrisConorDavern我们需要查看正在尝试执行的查询。正如我所说的,请回显您的sql查询,并用输出更新您的问题。对不起,我该怎么做?谢谢你的耐心,自从我上次做sql工作到现在已经有几年没有工作了。你的sql语法有一个错误;检查与MySQL服务器版本相对应的手册,以了解第1行“Long、VLong、Extreme、LJump、HJump、shotput、discussion、Javelin、Date、Year”附近使用的正确语法。。。看起来@user1048676已经涵盖了这一点