这是我到目前为止我没有得到任何错误。但是添加的列不起作用?
它不会出现在我的数据库中
我该怎么办?
<?php
$mysqli = mysqli_connect("localhost","texaco","texaco","texaco");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
elseif (mysqli_query("ALTER TABLE prijzen ADD test varchar(255) NOT NULL")) {
echo "Table creation failed: (" . mysqli_errno . ") " . mysqli_error;
}
else {
header("Location: inloggen.php");
}
/* ;
mysqli_query($sql);
*/
?>
答案 0 :(得分:4)
这里的问题是你从未将数据库连接传递给查询:
elseif (mysqli_query("ALTER TABLE prijzen ADD test varchar(255) NOT NULL"))
做的:
elseif (mysqli_query($mysqli, "ALTER TABLE prijzen ADD test varchar(255) NOT NULL"))
参考手册:http://php.net/manual/en/mysqli.query.php
另外,最好在标题后添加exit;
。否则,您的代码可能希望继续执行。
header("Location: inloggen.php");
exit;
但是,我不会使用elseif
而我不知道您为什么要这样做。只需检查查询是否成功执行。
$query = mysqli_query($mysqli, "ALTER TABLE prijzen ADD test varchar(255) NOT NULL");
if(!$query){
echo mysqli_error($mysqli);
}
else{
header("Location: inloggen.php");
exit;
}
将error reporting添加到文件的顶部,这有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// Then the rest of your code
旁注:只应在暂存时进行显示错误,而不是生产。
答案 1 :(得分:1)
试试这个:
$mysqli = mysqli_connect("localhost","USERNAME","PASSWORD","DATABASE");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
elseif (mysqli_query($mysqli,"ALTER TABLE prijzen ADD test varchar(255) NOT NULL")) {
//do something when column add
} else {
echo "Column creation failed: (" . mysqli_errno . ") " . mysqli_error;
}
在第一行更改USERNAME以获取具有alter table数据库权限的用户名,更改用户密码的PASSWORD和数据库名称的DATABASE。
如果这不起作用,请检查MySQL的权限。
答案 2 :(得分:0)
您的查询是正确的。 我认为你的用户 texaco 在Alter Table的phpmyadmin中没有特权。
答案 3 :(得分:0)
感谢你们所有的m8工作人员没有你的答案帮助这是你的最终代码mann ::::
<?php
$mysqli = mysqli_connect("localhost","texaco","texaco","texaco");
$kolomnaam = $_POST['kolomnaam'];
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
elseif (mysqli_query($mysqli, "ALTER TABLE prijzen ADD $kolomnaam varchar(255) NOT NULL")) {
echo "Table creation failed: (" . mysqli_errno . ") " . mysqli_error;
}
else {
header("Location: inloggen.php");
}
?>