транзакция php / mysql - PullRequest
1 голос
/ 12 мая 2011

Я делаю транзакцию с PHP и MySQL.Используя PHPMyAdmin, я вставляю запросы в базу данных университета, где я должен использовать транзакции в некоторых таблицах.До сих пор я делал этот код для своих транзакций персонала, но моя проблема в том, как мне получить информацию, вставленную в addStaff.php, чтобы я мог использовать ее как запрос к этому коду?прямо там, где написано //values();

<?php
function begin() 
{
  mysql_query("BEGIN");
}
function commit()
{
  mysql_query("COMMIT");
}
function rollback()
{
  mysql_query("ROLLBACK");
}

mysql_connect("localhost","username", "password") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
$query = "INSERT INTO Staff (id,name,position,phone,email,roomNumber,dnumber)"
//values();

begin(); // BEGIN
$result = mysql_query($query);
if(!$result)
{
  rollback(); // ROLLBACK
  echo "You rolled back";
  exit;
}
else 
{
  commit(); // COMMIT
  echo "Transaction was succesful";
}
?>

Ответы [ 2 ]

1 голос
/ 13 мая 2011

Это может быть то, что вы ищете:

$new_row = mysql_insert_id();
$query = mysql_query("SELECT * FROM `Staff` WHERE `id`=".$new_row);
$r = mysql_fetch_assoc($query);

echo $r['name'];

отобразит имя вставленной строки.

Редактировать: Это очень очень базовая версия того, как что-то делать, прежде чем переходить на что-либо в производство, вам нужно ознакомиться с SQL-инъекцией, подготовленными операторами / экранированием ввода пользователя, атаками XSS и многими другими жизненно важные части безопасности SQL-запросов

0 голосов
/ 13 мая 2011

Если я правильно понял ваш вопрос, вам необходимо знать, как запрашивать данные, принимать их и вставлять в базу данных:

<?php
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {

       ... connect to the database ...

       $sometext = $_POST['textfield']; // retrieve the value from the form

       $qsometext = mysql_real_escape_string($sometext); // make it safe for the query

       $sql = "INSERT INTO mytable (textfield) VALUES ($qsometext);" // build the sql query

       $result = mysql_query($sql) or die(mysql_error()); // run the query

    }
?>

<html>

<body>
<form method="POST">
<input type="text" name="textfield"><input type="submit">
</form>

</body>

</html>

Это упрощенная версия того, как показывать форму, а затем вставлять данные пользователя в базу данных, просто повторно отображать форму для получения дополнительных данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...