【问题标题】:I cannot insert new records into Database after deploying it to a remote server将新记录部署到远程服务器后,我无法将新记录插入数据库
【发布时间】:2014-04-19 22:55:07
【问题描述】:

我刚刚将我的数据库部署到远程服务器,但不幸的是我似乎无法插入新记录。请注意,情况并非如此,因为我能够(并且仍然)在我的本地服务器 (WAMP) 上插入和删除记录。

每次我尝试插入新记录条目时,都会收到“无法添加新记录。没有选择数据库。**另外值得注意的是,我在导出 sql 文件之前所做的表条目在远程数据库表中仍然可见。

我检查了数据库配置文件并确保选择了相应的数据库。请帮忙,因为我已经尝试了所有。

这是我正在使用的代码:

connect.php

<?php 
$hostname_connect = "localhost";
$database_connect = "dan_license";
$username_connect = "dan";
$password_connect = "anfield";
$connect = mysql_pconnect($hostname_connect, $username_connect, $password_connect) or trigger_error(mysql_error(),E_USER_ERROR); 
?>

license_processer.php

<?php require_once('Connections/connect.php'); ?>
<?php 

    $value1 = $_POST['license_type'];
    $value2 = $_POST['license_date'];
    $value3 = $_POST['license_expiry'];
    $value4 = $_POST['license_cost'];

    $result = mysql_query("INSERT INTO license (license_type, license_date, license_expiry, license_cost) VALUES ('$value1', '$value2', '$value3', '$value4')");


?>
<?php include('includes/form_body.php'); ?>

form_body.php

<?php
    if(!$result){  
    die('Could not Add New record: ' . mysql_error());
    }
    else{ 
    echo "<h2>Success. New Record added!</h2>"; mysql_close();
    }
?>

到目前为止,列出的选项都没有成功。

【问题讨论】:

  • 该消息告诉您出了什么问题:未选择数据库。。如果您的开发服务器上只有一个数据库,那么您可能无法选择它。 注意mysql_*() 已弃用,不应用于新代码。我还可以肯定,在您使用它之前,您也需要持久连接。
  • 添加一个mysql_query(USE yourdbname);但主要是你很容易受到sql注入。stackoverflow.com/questions/60174/…
  • 您可能想尝试使用mysql_connect 而不是mysql_pconnect$connect = mysql_connect($hostname_connect, $username_connect, $password_connect,$database_connect)
  • 如果您使用远程MYSQL 服务器,您不应该更改$hostname_connect = "localhost"; 行吗?
  • localhost 仅当您的脚本在同一主机上运行时才有效

标签: php mysql sql database wamp


【解决方案1】:

我可以看到您正在连接,但您是否正在选择要使用的数据库?

connect.php

<?php
$hostname_connect = "localhost";
$database_connect = "dan_license";
$username_connect = "dan";
$password_connect = "anfield";

$connect = mysql_pconnect($hostname_connect, $username_connect, $password_connect) or trigger_error(mysql_error(), E_USER_ERROR); 
mysql_select_db($database_connect) or trigger_error(mysql_error(), E_USER_ERROR);

不用说你应该使用PDO,或者至少MySQLi

【讨论】:

    猜你喜欢
    • 2015-11-17
    • 1970-01-01
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    相关资源
    最近更新 更多