Не записываются значения в ячейку БД

Рейтинг: 0Ответов: 2Опубликовано: 09.11.2014

Помогите найти ошибку! В БД ячейка создается, но значения не записываются. Как исправить?

<?
    if ($_COOKIE["TestCookie"] == NULL)
    {

    $value = 'что-то где-то';
    setcookie("TestCookie", $value);
    ?>
    <div id="footer">
    <form method="post" action="">
    <input type="text" name="name">
    <input type="text" name="price">
    <input type="submit">
    </form>
    </div>
    <?
    $db = mysql_connect("localhost", "root", "");
    $ttt = mysql_select_db("testi3", $db);
    $q = mysql_query("SELECT * FROM trans");
    $strSQL = "INSERT INTO trans(name, price) VALUES(name, price)"; 
    mysql_query($strSQL) or die(mysql_error());
    }
    else
    {
    echo "Вы можете добавить еще одно сообщение только завтра!";
    }
?>

Обновление

Если написать

$strSQL = "INSERT INTO trans(name, price) VALUES({'$name'}, {'$price'})";

Выдает ошибку:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '''}, {''})' at line 1 или я не так понял?

Ответы

▲ 1
$query = sprintf('INSERT INTO trans (name, price) VALUES (\'%s\', \'%s\')', $name, $price);

Обновление

Потому что запрос у вас записывается в $query, а на исполнение отдается $strSQL. Мой комментарий не приносит ничего нового, кроме читаемости кода.

▲ 0

Значения из формы передаются методом post, но в коде я не увидел, где ты получаешь переменные из глобального массива $_POST, чтобы записать их в БД. В строке $strSQL=..... должны указываться переменные $name и $price.

Обновление

$strSQL = 'INSERT INTO trans(name,price) VALUES("'.$name.'","'.$price.'")';

Только переменные $name и $price еще определить надо.