В моей базе данных У меня есть мои пользователи, у каждого из которых есть своя сумма «золота», я сделал кнопку, которая увеличивает количество золота у них на 100 за каждый клик на Это. Проблема в том, что я не могу понять, как это сделать для конкретного зарегистрированного пользователя. Вот мой текущий код обновленияНевозможно обновить строку базы данных в соответствии с конкретным пользователем
$addgold2 = mysqli_query($con,"UPDATE stats SET stats.gold = stats.gold + 100 WHERE stats.id=$retval2");
Если я удаляю «$ retval2» и вводя только идентификатор, он работает. Я хочу вызвать идентификатор для зарегистрированного пользователя, а затем обновить только эту статистику. Вот код, у меня есть для него
$id2 = "SELECT users.id FROM users WHERE users.username=$username";
$retval2 = mysqli_query($con,$id2);
Теперь, если я эхо $ ID2, это показывает идентификатор «1», но это не 1! это 7 :(
Я также получаю эту ошибку
Catchable fatal error: Object of class mysqli_result could not be converted to string in C:\wamp\www\Game\addgold.php on line 19
На первой строке кода, который я поставил
И, наконец, вот весь код (форма находится на другой странице)
<?php error_reporting(E_ALL); ini_set('display_errors', 1);
include("connect.php");
include("header.php");
$username = $_SESSION['userlogin'];
$id2 = "SELECT users.id FROM users WHERE users.username=$username";
$retval2 = mysqli_query($con,$id2);
$sql = "SELECT stats.id, stats.gold, users.id, users.username FROM stats, users WHERE users.username = '$username' AND stats.id = users.id";
$retval = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
echo "Gold: {$row['gold']} <br> ".
"--------------------------------<br>";
}
$row2 = mysqli_fetch_row($retval2);
$id2 = mysqli_num_rows($retval2) or die(mysql_error()." ".$id2);
echo $id2;
if(isset($_SESSION['userlogin'])){
$addgold2 = mysqli_query($con,"UPDATE stats SET stats.gold = stats.gold + 100 WHERE stats.id=$retval2");
if(isset($addgold2['submit'])){
}
echo "You have earned 100 gold!";
mysqli_close($con);
}
?>
Я не думаю, что это имело значение, но все равно попробовал и не работал :(все еще показывающий неправильный ID –
по-прежнему получают ту же ошибку? – worldask
Да, к сожалению, ничего не изменилось. Думаю, ответ Бобби Стенли поможет , так что попробуйте, что atm –