无法使这个工作和语法 - 我以前从未做过这样的事情,也没有写过一些原始的东西。我有一个传递两个变量的网址。然后我在页面中获取这些变量。然后,我想根据其中一个变量选择连接到哪个mysql数据库。
变量:
$account_id=$_GET["reference"];
然后选择要连接的数据库:
$link = mysql_connect('connect', 'user', 'pass');
if (!$link) {
die('Not connected : ' . mysql_error());
}
if ($item = "A"){
$db_selected = mysql_select_db('A', $link);
} elseif ($item = "B") {
$db_selected = mysql_select_db('B', $link);
} elseif (!$db_selected) {
die ('Can\'t use foo : ' . mysql_error());
}
一直在选择项目A.我无法选择B或给出错误。我哪里错了?
答案 0 :(得分:1)
使用==而不是=
if ($item == "A"){
$db_selected = mysql_select_db('A', $link);
} elseif ($item == "B") {
$db_selected = mysql_select_db('B', $link);
} elseif (!$db_selected) {
die ('Can\'t use foo : ' . mysql_error());
}
答案 1 :(得分:0)
比较逻辑运算的值时,您必须使用>
,<
,==
,===
,!=
或!==
。您正在使用单个等号,这不是用于比较而是用于分配。
这就是你在做什么
$item = 'b'; // a single equals sign assigns a value
if ($item = 'a') { // so in this line, we are not comparing but assigning!
echo 'Item is a'; // this line will always be reached
} else {
echo 'Item is b'; // this line will NEVER be reached
}
echo 'Item = '.$item; // will ALWAYS read "Item = a"
这就是您的意图
$item = 'b'; // a single equals sign assigns a value
if ($item == 'a') { // double-equals compares value, with type juggling
echo 'Item is a';
} else {
echo 'Item is b'; // now this line will be reached, because item != 'a'
}
echo 'Item = '.$item; // will read "Item = b"
`==` - value is equal, not necessarily the same type (1 == "1")
`!=` - value is not equal, may or may not be the same type (2 != "3")
`===` - value is equal AND the same type (1 === 1)
`!==` - value is not the same type, or not the same value (2 !== "2")
<强>文档强>