Conexión de formulario html a la página php de acuerdo con la clave principal

Ok, esencialmente lo que estoy tratando de hacer es agregar un componente q & a a mi sitio web (primer sitio web, por lo que mi conocimiento php actual es mínimo). Tengo la página html donde se registra la entrada del usuario y se agrega a la base de datos, pero luego tengo problemas para extraer esa información específica de la base de datos.

Mi página php actual está extrayendo información donde the questiondetail the question detail the questiondetail = the question detail ( detail='$detail' ) en la base de datos, pero que potencialmente podría presentar un problema si dos usuarios ingresan la misma información que los detalles de su pregunta (improbable, pero aún posible) , especialmente si la misma persona envía accidentalmente la pregunta dos veces). Lo que quiero hacer es cargar la página de acuerdo con el question_id de la base de datos (clave principal), que es lo único que siempre será único.

CÓDIGO HTML:

 

PROCESO.Código PHP:

 $name2 = $_GET['name2']; $title = $_GET['title']; $detail = $_GET['detail']; $query= "INSERT INTO questions (title, detail) VALUES ('$title', '$detail')"; $result = mysql_query("SELECT * FROM questions where detail='$detail' ") or die(mysql_error()); 

La información se está almacenando correctamente en la base de datos, y se está sacando con éxito cuando detail = $ detail, pero lo que estoy buscando hacer es sacarla de acuerdo con el question_id porque ese es el único valor que siempre será único . ¡Cualquier respuesta será muy apreciada!

Versión actualizada

QUESTION_EXAMPLE.PHP CODE

  

En primer lugar, si ese es el código que se utilizará en producción, asegúrese de que está escapando de los parámetros de SQL antes de conectarlos a su extracto. Nadie disfruta de un ataque de inyección SQL. Yo recomendaría usar PDO en su lugar, ya que admite declaraciones preparadas y enlace de parámetros, que es mucho más seguro.

¿Cómo puedo prevenir la inyección SQL en PHP?

Entonces tienes una forma …

 [title] [details] [submit] 

Y eso se inserta en tu base de datos …

 INSERT INTO questions (title, details) VALUES (?, ?) 

Puede obtener la última identificación de inserción usando mysql_insert_id , http://php.net/manual/en/function.mysql-insert-id.php .

 $id = mysql_insert_id(); 

Entonces puedes obtener el registro …

 SELECT title, details FROM questions WHERE id = ? 

Y lo muestra en una página de vista previa.

He escrito un ejemplo usando PDO en lugar de las funciones básicas de mysql.

form.php :

 

process.php :

 prepare("INSERT INTO questions (title, detail) VALUES (?, ?)"); $stmt->bindValue(1, $_POST["title"], PDO::PARAM_STR); $stmt->bindValue(2, $_POST["detail"], PDO::PARAM_STR); // Execute the insert statement $stmt->execute(); // Retrieve the id $id = $stmt->lastInsertId(); // Prepare a select statement and bind the id parameter $stmt = $pdo->prepare("SELECT title, detail FROM questions WHERE id = ?"); $stmt->bindValue(1, $id, PDO::PARAM_INT); // Execute the select statement $stmt->execute(); // Retrieve the record as an associative array $row = $stmt->fetch(PDO::FETCH_ASSOC); ?> 

Sin PDO …

form.php :

 

process.php :

  

question_preview.php :

  

Supongo que quieres ordenar las preguntas de acuerdo con el question_id. Podría intentar usar el comando ORDER BY

ejemplo –

 $result = mysql_query("SELECT * FROM questions where detail='$detail' ORDER BY question_id") 

Para este tipo de ejemplos, debe ejecutar Transaction dentro de la base de datos a continuación.

http://dev.mysql.com/doc/refman/5.0/en/commit.html

Si no

Cree una variable aleatoria almacenada en sesión y también insértela en la base de datos y la llama desde la base de datos y puede obtener una vista previa de ella fácilmente.

 id | question_code | q_title 

question_code es el valor aleatorio generado antes de la inserción en la base de datos,

y guarde el question_code en una sesión y vuelva a llamarlo para obtener una vista previa.