Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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发布到mysql数据库?_Php_Mysql - Fatal编程技术网

为什么我不能用PHP发布到mysql数据库?

为什么我不能用PHP发布到mysql数据库?,php,mysql,Php,Mysql,大家好 我搜索了又搜索,似乎无法找出我的脚本到底出了什么问题。简单地说,我试图通过PHP将一行插入MySQL数据库,它显示了所有步骤,但不更新表中的记录。我的剧本是 <?php $link = mysql_connect('callingonchristcom.ipagemysql.com', 'jhedge', 'mypw'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Conne

大家好

我搜索了又搜索,似乎无法找出我的脚本到底出了什么问题。简单地说,我试图通过PHP将一行插入MySQL数据库,它显示了所有步骤,但不更新表中的记录。我的剧本是

<?php 
$link = mysql_connect('callingonchristcom.ipagemysql.com', 'jhedge', 'mypw'); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
echo 'Connected successfully'; 
mysql_select_db('user'); 
echo 'Step Two';
$mysqlstr="INSERT INTO users (FirstName,LastName,UserName,Password) VALUES ('John','Hedge','jhedge','mypw');";
echo 'Step Three';
mysql_query($myquerystr);
echo 'Step Four';
mysql_close($link);
?>  

注意:请使用mysqli而不是mysql。

请从查询中删除额外的半列(;)

替换

$mysqlstr="INSERT INTO users (FirstName,LastName,UserName,Password) VALUES ('John','Hedge','jhedge','mypw');";


注意:请使用mysqli而不是mysql。

请从查询中删除额外的半列(;)

替换

$mysqlstr="INSERT INTO users (FirstName,LastName,UserName,Password) VALUES ('John','Hedge','jhedge','mypw');";

echo$mysqlstr; 这将给出传递给mysql\u查询的确切字符串。。将其输出到控制台,并直接在php管理员中执行该字符串,以查看是否出现任何错误。

echo$mysqlstr;
这将给出传递给mysql\u查询的确切字符串。。将其输出到控制台,并直接在php管理员中执行此字符串,以查看是否出现任何错误。

请尝试使用以下代码。我已经更新了你的代码

<?php 
$link = mysql_connect('callingonchristcom.ipagemysql.com', 'jhedge', 'mypw'); 
if (!$link) { 
die('Could not connect: ' . mysql_error()); 
} 
echo 'Connected successfully'; 
mysql_select_db('user',$link); 
echo 'Step Two';
$mysqlstr="INSERT INTO users (FirstName,LastName,UserName,Password) VALUES  ('John','Hedge','jhedge','mypw')";
echo 'Step Three';
mysql_query($mysqlstr,$link);
echo 'Step Four';
mysql_close($link);
?>  

请尝试使用以下代码。我已经更新了你的代码

<?php 
$link = mysql_connect('callingonchristcom.ipagemysql.com', 'jhedge', 'mypw'); 
if (!$link) { 
die('Could not connect: ' . mysql_error()); 
} 
echo 'Connected successfully'; 
mysql_select_db('user',$link); 
echo 'Step Two';
$mysqlstr="INSERT INTO users (FirstName,LastName,UserName,Password) VALUES  ('John','Hedge','jhedge','mypw')";
echo 'Step Three';
mysql_query($mysqlstr,$link);
echo 'Step Four';
mysql_close($link);
?>  

您是否尝试链接此…使用mysqli而不是mysql

<?php 
$link = mysqli_connect('callingonchristcom.ipagemysql.com', 'jhedge', 'mypw'); 
if (!$link) { 
    die('Could not connect: ' . mysqli_error()); 
} 
echo 'Connected successfully'; 
mysqli_select_db('user'); 
echo 'Step Two';
$mysqlstr = "INSERT INTO users (FirstName,LastName,UserName,Password) VALUES ('John','Hedge','jhedge','mypw')";
echo 'Step Three';
mysqli_query($link,$myquerystr);
echo 'Step Four';
mysqli_close($link);
?> 

您是否尝试链接此…使用mysqli而不是mysql

<?php 
$link = mysqli_connect('callingonchristcom.ipagemysql.com', 'jhedge', 'mypw'); 
if (!$link) { 
    die('Could not connect: ' . mysqli_error()); 
} 
echo 'Connected successfully'; 
mysqli_select_db('user'); 
echo 'Step Two';
$mysqlstr = "INSERT INTO users (FirstName,LastName,UserName,Password) VALUES ('John','Hedge','jhedge','mypw')";
echo 'Step Three';
mysqli_query($link,$myquerystr);
echo 'Step Four';
mysqli_close($link);
?> 

问题似乎在于你的变量,除非你在发帖时有打字错误。最初使用
$mysqlstr
,但随后使用
$myquerystr
。无论如何,使用Mysqli面向对象结构将使您受益匪浅。以这种方式重做您的代码,并让我知道您得到了什么:

$servername = "callingonchristcom.ipagemysql.com";
$username = "jhedge";
$password = "mypw";
$dbname = "user";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO users (FirstName,LastName,UserName,Password) VALUES ('John','Hedge','jhedge','mypw')";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
$servername=“callingochristcom.ipagemysql.com”;
$username=“jhedge”;
$password=“mypw”;
$dbname=“user”;
//创建连接
$conn=newmysqli($servername、$username、$password、$dbname);
//检查连接
如果($conn->connect\u错误){
die(“连接失败:”.$conn->connect\U错误);
}
$sql=“在用户(FirstName、LastName、UserName、Password)中插入值('John'、'Hedge'、'jhedge'、'mypw')”;
if($conn->query($sql)==TRUE){
echo“新记录创建成功”;
}否则{
echo“Error:”.$sql.“
”$conn->Error; } $conn->close();
问题似乎在于你的变量,除非你在发帖时有打字错误。最初使用
$mysqlstr
,但随后使用
$myquerystr
。无论如何,使用Mysqli面向对象结构将使您受益匪浅。以这种方式重做您的代码,并让我知道您得到了什么:

$servername = "callingonchristcom.ipagemysql.com";
$username = "jhedge";
$password = "mypw";
$dbname = "user";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO users (FirstName,LastName,UserName,Password) VALUES ('John','Hedge','jhedge','mypw')";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
$servername=“callingochristcom.ipagemysql.com”;
$username=“jhedge”;
$password=“mypw”;
$dbname=“user”;
//创建连接
$conn=newmysqli($servername、$username、$password、$dbname);
//检查连接
如果($conn->connect\u错误){
die(“连接失败:”.$conn->connect\U错误);
}
$sql=“在用户(FirstName、LastName、UserName、Password)中插入值('John'、'Hedge'、'jhedge'、'mypw')”;
if($conn->query($sql)==TRUE){
echo“新记录创建成功”;
}否则{
echo“Error:”.$sql.“
”$conn->Error; } $conn->close();
您的查询变量是
$mysqlstr
,您在mysql\u查询中使用了
$myquerystr
,因此不会插入您的查询变量是
$mysqlstr
,您在mysql\u查询中使用了
$myquerystr
,因此不会插入首先不要为数据库使用
mysql
驱动程序折旧业务

使用
pdo
mysqli
驱动程序

下面是一个使用
mysqli
驱动程序的简单示例

    $db_name="students";
    $db_username="root";
    $db_password="pass";

    $con=mysqli_connect("localhost",$db_username,$db_password,$db_name);
    $query="INSERT INTO users (FirstName,LastName,UserName,Password) VALUES ('John','Hedge','jhedge','mypw')";
    $result=mysqli_query($con,$query);

    if($result->num_rows==1){
       echo 'Insert success';
     }else {
      echo 'Error insert';
   }

首先,不要在数据库操作中使用
mysql
驱动程序,因为它会贬值

使用
pdo
mysqli
驱动程序

下面是一个使用
mysqli
驱动程序的简单示例

    $db_name="students";
    $db_username="root";
    $db_password="pass";

    $con=mysqli_connect("localhost",$db_username,$db_password,$db_name);
    $query="INSERT INTO users (FirstName,LastName,UserName,Password) VALUES ('John','Hedge','jhedge','mypw')";
    $result=mysqli_query($con,$query);

    if($result->num_rows==1){
       echo 'Insert success';
     }else {
      echo 'Error insert';
   }


您正在使用INSERT查询和saying,但没有更新记录?正确。当我检查用户数据库上的Users表时,它没有任何记录。您不会检查任何错误,因此您永远不会知道您的MySQL服务器是否已将
自动提交设置为
关闭
?您可以向我们显示您的表结构吗?您正在使用INSERT查询并说,但没有更新记录?正确。当我检查用户数据库上的Users表时,它没有任何记录。您不会检查任何错误,因此您永远不会知道您的MySQL服务器是否已将
自动提交设置为
关闭
?您能向我们展示您的表结构吗?谢谢您的建议。我试过了,但仍然没有更新。谢谢你的建议。我试过了,但仍然没有更新。谢谢你的建议。我在控制台中尝试了它,它在控制台中添加了记录fine.INSERT-INTO-users(FirstName,LastName,UserName,Password)值('John','Hedge','jhedge','mypw')echo mysql_error();在mysql_query()之后添加此选项,查看屏幕上是否打印出任何错误。谢谢您的建议。我在控制台中尝试了它,它在控制台中添加了记录fine.INSERT-INTO-users(FirstName,LastName,UserName,Password)值('John','Hedge','jhedge','mypw')echo mysql_error();在mysql_query()之后添加此项,以查看屏幕上是否打印出任何错误。谢谢。我尝试了,但它仍然没有用任何记录更新数据库。请尝试打印
$link
连接对象。看来你的关系不太好。另外,我想知道你文件夹中的连接驱动程序是否正确。再次感谢你。它打印为资源id#2(不管是什么意思)。我的网络托管是通过ipage.com完成的,因此我不确定驱动程序放在哪里。我怎么能找到呢?我想我发现了一个错误,你在mysql_查询中传递了错误的变量名($mysqlstr,$link);就这样!非常感谢。非常感谢。我尝试了,但它仍然没有用任何记录更新数据库。请尝试打印
$link
连接对象。看来你的关系不太好。另外,我想知道你文件夹中的连接驱动程序是否正确。再次感谢你。它作为资源id打印