如果$number
1
INFO
更新Number
表格199
列$number
作为默认值,我将如何检查2
{{1}是INFO
使用Number
221
更新199
表而不是 $number_rows = $db->doQuery('SELECT Num FROM Char WHERE ? IN(CharNum1, CharNum2, CharNum3)', $char);
$row = $db->doRead();
$number = intval($row['Num']);
if ($number_rows == -1)
{
$db->GetError(__file__, __line__);
$this->doError(Template::GetLangVar('DBERROR'));
return;
}
else if ($number_rows == 0)
{
$this->content = Template::Load('error', array('error_message' => Template::GetLangVar('No_Rows')));
return;
}
$dt = $db->doQuery('SELECT TOP 1 LAINO, DT FROM LOGG WHERE Char = ? ORDER BY DT DESC', $char);
$row = $db->doRead();
if ((intval($row['DT']) + 600) <= time() || !$dt)
{
$this->database[GAB]->doQuery('INSERT INTO Laeima (UserID) VALUES (?)', $char;
$this->database[GAB]->doQuery('INSERT INTO Smotka (Pofka,Motka,Rebka) VALUES (?,?,?)', $_SESSION['Acc'], $char, time());
sleep(6);
$this->database[GAB]->doQuery('UPDATE INFO SET Number = ? WHERE User = ?', $numcode, $char);
$this->content = Template::Load('error', array('error_message' => Template::GetLangVar('Success')));
}
else
{
$this->content = Template::Load('error', array('error_message' => Template::GetLangVar('FAIL')));
}
?
基本上我只需要添加199或221的检查和更新,所以请告诉我如何做到这一点?谢谢!
{{1}}
我使用MSSQL Server 2005,只是提到它:)
答案 0 :(得分:0)
根据您的评论,您似乎缺少的信息是您可以尽可能深地嵌套if
语句:
// ... some code ...
if ( $some_condition ) {
// ... some conditional code ...
if ( $some_other_condition ) {
// ... some code to run only when both conditions are true ...
} else {
// ... some code to run when one condition is true but the other false ...
}
// ... some more code ...
} else {
// ... what to do if the outer condition is false ...
}
// ... etc ...
所以在你的情况下,实现它的最简单方法是采用这一行......
$this->database[GAB]->doQuery('UPDATE INFO SET Number = 199 WHERE User = ?', $char);
...并将其放入适当的if
,并在else
中使用同一行的不同版本。
或者,更优雅的是,您可以为使用if ... else
块定义的“数字”定义变量,并使用该变量代替查询中的硬编码199。
请注意,我故意避免在此处提供最终代码,因为如果您不想在没有理解的情况下复制和粘贴我的版本,我认为您更有可能理解将来要做什么。