Делаю код отправки денег ... Что тут собственно не так? Извините за кучу ошибок...Учу пых уже дня три! PHP: <?php include "dbconfig.php"; $id = $_POST['id']; $a = 0; $count = $_POST['count']; $sfdfdf->prepare('UPDATE VALUES (money = money + $count) WHERE id=2'); $sfdfdf->bindParam(':count', $count); $sfdfdf->execute(); $gfhhfgh->prepare('UPDATE VALUES (money = money - $count) WHERE id=1'); $gfhhfgh->bindParam(':count', $count); $gfhhfgh->execute(); ?> и собственно dbconfig.php PHP: <?php class Database { private $host = "localhost"; private $db_name = "122"; private $username = "root"; private $password = ""; public $conn; public function dbConnection() { $this->conn = null; try { $this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password); $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $exception) { echo "Connection error: " . $exception->getMessage(); } return $this->conn; } } ?> P.S. И можете помочь мне сделать определение айди пользователя?
@Ganzal, я не совсем понял что нужно в переменной Я читал что там что-то нужно Возможно код подключения бд? А так там ничего!
ну так если у тебя в переменной ничего нет то почему ты пытаешься пользоваться методами этого самого ничего нета? пользуешься ты методами стало быть это экземпляр какого-то класса. какого? где инициализация? тебе сейчас основы программирования надо изучать и азы пхп. а ты деньги перекидывать собрался...
@Ganzal, ну так я и учусь! Попытаюсь что-то сделать... --- Добавлено --- @Ganzal PHP: <?php $conn = new PDO('mysql:host=localhost;dbname=122', "root", ""); $id = $_POST['id']; $count = $_POST['count']; $conn->prepare('UPDATE VALUES (money = money + $count) WHERE id=2'); $conn->bindParam(':count', $count); $conn->execute(); $conn->prepare('UPDATE VALUES (money = money - $count) WHERE id=1'); $conn->bindParam(':count', $count); $conn->execute(); ?> Что можете сказать про такой код?
ну, что ты не читал мануал по пхп. Твое значение переменной $count не подставится в запросы. Там будет именно строка бакс-каунт. Почему? Потому что так работают строки в одинарных кавычках.
@Ganzal PHP: <?php $fgh = "root"; $huh = ""; $conn = new PDO('mysql:host=localhost;dbname=122', $fgh , $huh); $id = $_POST['id']; $count = $_POST['count']; $conn->prepare('UPDATE VALUES (money = money + $count) WHERE id=2'); $conn->bindParam('$count', $count); $conn->execute(); $conn->prepare('UPDATE VALUES (money = money - $count) WHERE id=1'); $conn->bindParam('$count', $count); $conn->execute(); ?> так? Пойду-ка я читать мануал по пыху
Используй mysqli c драйвером mysqlnd (хотя вроде он сейчас по умолчанию стоит), раз ты с mysql'ом работаешь. Рекомендую инкапсилировать структуру и реализовывать свою задумку в финальной структуре. Раз ты тоже ударился в ООП в php - то делай красиво, реализуй объект унаследованный от mysqli если работаешь непосредственно с MySQL. Код весь показывать не стану, ибо все равно работать он у тебя не будет, просто скажу как работает: Я для своего удобства, унаследовал класс сделал все необходимые мтоды для работы сбазами и соединениями, переопределил метод query - сделал чтобы передача параметров была в нем и ask аналог. PHP: $db = new db(array( 'one' => array( 'host' => 'localhost', 'user' => 'root', 'password' => 'password', 'base' => 'basename', 'encode' => 'utf8' ) )); PHP: $login = filter_input(INPUT_POST, 'login'); $one = $db->connect('one'); $login = $one->query('SELECT * FROM `comments` WHERE `login`=?', array($login)); // ниже аналог, только в качестве запроса используется ключ в файле массиве sql.php, удобнее, короче, - все SQL'ки в одном месте. //$login = $one->ask('comments', array($login)); while($comment = $login->fetch_assoc()) { //.... } --- Добавлено --- Потому, что нужно оборачивать переменные или выводить их за строку, оператором конкатенации (пристыковки - сложения строк) точка " . " Заметьте как работают кавычки PHP: $sql = 'SELECT * FROM `comments` WHERE `login`=$variable'; переменная $variable так и отправится не выполненной. а вот так: PHP: $sql = 'SELECT * FROM `comments` WHERE `login`= '.$variable; но никак нам нужно и не будет обернуто в кавычки содержимое переменной. а так будет обернуто в двойные кавычки, так как одинарные используются в определении переменной: PHP: $sql = 'SELECT * FROM `comments` WHERE `login`= "'.$variable.'"'; А вот, чтобы такого не было, можно воспользоваться в таком случае двойными кавычками в определении строки, а одинарными при структурировании и построении SQL запроса ну и оборачивать переменные в {} - фигурные скобки: PHP: $sql = "SELECT * FROM `comments` WHERE `login`= '{$variable}'";