gpt4 book ai didi

php - mysql_select_db 使用 POST 变量

转载 作者:行者123 更新时间:2023-11-29 02:01:52 24 4
gpt4 key购买 nike

我是 PHP 的新手,还有很长的路要走。可能是逻辑错误,或者我只是不知道 PHP 究竟是如何工作的。无论如何,我提交的代码来 self 的管理控制面板。我正在尝试制作一个连接到数据库的页面,而不是显示所有数据库名称并从单选按钮中选择其中一个。当再次按下提交以显示表格时。显示表格后,下一步将是编辑、添加更新等。我还没有。因为我无法让 mysql_select_db 工作。它给出了错误。错误是;

Notice: Undefined variable: connect in /public_html/php/insert_delete_update_amend/mydata03.php on line 94

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /public_html/php/insert_delete_update_amend/mydata03.php on line 94Could not connect to db

任何帮助将不胜感激。P.S.: 同样,当提交第一个表单时,第一个表单消失,第二个表单出现,依此类推。

<?php 
// form variables
$DisplayDBinfoForm = true;
$DisplayDBform = false;
if (isset($_POST['db_info_submit'])) { //when user presses db info submit button
//select which form to hide or appear
$DisplayDBinfoForm = false;
$DisplayDBform = true;

$hostname = $_POST['db_name'];
$db_user_name = $_POST['db_user_name'];
$db_user_password = $_POST['db_user_password'];

$connect = mysql_connect($hostname,$db_user_name,$db_user_password);
if(!$connect) die("Could not connect");
echo "<p><b>connected successfully</b></p>\n";
}

if($DisplayDBinfoForm) {
?>
<form name="dbinfo" method="POST" action="mydata03.php" onsubmit="return validateForm();">

Host Name: <input type="text" name="db_name" /><br />
<br />
DB User Name <input type="text" name="db_user_name" /><br />
<br />
DB User Password: <input type="text" name="db_user_password" /><br />
<br />
<input type="submit" name="db_info_submit"value="Login"><br />
</form>
<?php
}
if($DisplayDBform) {
?>
<form name="delete_table" id="delete_table" action="mydata03.php" method="post">
<table width="30%" border="1">
<tbody>

<?php
$query = "SHOW DATABASES";
$resultSet = mysql_query($query);
while($database = mysql_fetch_array($resultSet)) { // go through each row that was returned in $result
$dbname = $database[0];

echo "<tr><th>Database Name</th>
<th>Select</th>
</tr>
<tr>
<td>$dbname</td>
<td><input name=\"radDB\" id=\"radDB\" type=\"radio\" value=\"$dbname\"</td>
</tr>\n";
}

?>

</tbody>
</table>
<p>
<input name="btnSelectDB" type="submit" value="Select" />
</form>
</p>
<?php
}
if(isset($_POST['btnSelectDB'])) {

$DisplayDBinfoForm = false; // hide form
$DisplayDBform = false; // hide form

$db_name = $_REQUEST["radDB"]; // the db na,e

echo "The " . $db_name . " is selected\n";
$select_db = mysql_select_db($db_name,$connect);
if(!$select_db) die("Could not connect to db". mysql_error());
echo "<b>connected successfully to db</b>";
}
?>

最佳答案

首先,不要使用 mysql_* 函数。那个时间已经过去了。相反,使用 mysqli_*PDO .

话虽如此,与数据库服务器的初始连接似乎完全正常,因为您的代码不会在以下位置出现问题:

$connect = mysql_connect($hostname,$db_user_name,$db_user_password);
if(!$connect) die("Could not connect");

尽管在稍后阶段,当尝试连接到实际数据库时:$select_db = mysql_select_db($db_name,$connect); 确实如此。

这让我相信您设置数据库名称的变量 $db_name = $_REQUEST["radDB"]; 没有正确提取数据。

关于php - mysql_select_db 使用 POST 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13465991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com