prepared

Mattepuffo's logo
Prepared Statement con MySQLi

Prepared Statement con MySQLi

Anche se in genere uso PDO per connettermi a MySQL con PHP, per piccoli script può non valerne la pena.

Ma al posto di usare le classiche funzionu mysql_ ho iniziato a usare il mysqli, che ad oggi è strettamente consigliato.

Vediamo qui come eseguire istruzioni preparate (Pepared Statement) per inserire da in un db MySQL attraverso l'estensione MySQLi.

Vi posto il form:

<form action="" method="post">
<label>Nome / Name:</label>
<input type="text" value="" name="nome" />
<label>Cognome / Surname:</label>
<input type="text" value="" name="cognome" />
<fieldset>
<legend>Sex:</legend>
<input type="radio" name="sex" value="m" />
<label>M</label>
<input type="radio" name="sex" value="f" checked="checked"  />
<label>F</label>
</fieldset>
<label>E-mail:</label>
<input type="text" value="" name="email" />
<label>Nazione / Country:</label>
<select name="nazione">
<option>Italy</option>
<option>UK</option>
</select>
<label>Lingua / Language:</label>
<select name="lingua">
<option>*</option>
<option>Italiano</option>
<option>English</option>
</select>
<fieldset>
<legend>Privacy:</legend>
<input type="checkbox" name="privacy" />
<label>Agree</label>
</fieldset>
<fieldset>
<button type="submit" name="btn_send">Submit</button>
</fieldset>
</form>

Un normale form.

Mattepuffo's logo
Delete MySql con JSP e Servlet

Delete MySql con JSP e Servlet

Dopo aver visto come interrogare un db MySql e come aggiungere dati, proseguiamo con l'operazione di cancellazione.

Vi consiglio di leggere prima i due articoli ai link segnalati sopra.

Questa è la nostra pagina index.jsp:

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Banca JSP</title>
</head>
<body>
<table>
<thead>
<th>
ID
</th>
<th>
ENTRATE
</th>
<th>
USICTE
</th>
<th>
CAUSALE
</th>
<th>
DATA
</th>
</thead>
<c:forEach items="${requestScope.list}" var="lists">
<tr>
<td>
<c:out value="${lists.id}"/>
</td>
<td>
<c:out value="${lists.entrate}"/>
</td>
<td>
<c:out value="${lists.uscite}"/>
</td>
<td>
<c:out value="${lists.causale}"/>
</td>
<td>
<c:out value="${lists.data}"/>
</td>

<td>
<a href="DoDelete?delete=${lists.id}">Elimina</a>
</td>
</tr>
</c:forEach>
</table>
<br/>
<br/>
<form action="DoInsert" method="post">
<input type="text" name="txtEntrate" value="100"/><br/>
<input type="text" name="txtUscite" value="0"/><br/>
<input type="text" name="txtCausale" value="jsp 1"/><br/>
<input type="submit" name="Submit" value="Submit" />
</form>
</body>
</html>

Come vedete ho aggiunto una cella con un link che richiama la Servlet DoDelete passandogli in GET il valori dell'id selezionato tramite lists.id.

Mattepuffo's logo
Insert MySql con JSP e Servlet

Insert MySql con JSP e Servlet

Dopo aver visto come eseguire una semplice select sun db MySql con JSP e le Servlet, vediamo com'è possibile fare un inserimento.

Vi consiglio di dare prima una letta a questi due articoli che spiegano la classe per la connessione e come eseguire una select con JSP/Servlet:

Detto ciò andremo ad utilizzare un semplice form e una Servlet per eseguire la query di inserimento usando un PreparedStatement (che è la prima volta che uso).

Qui trovate un buon articolo.

In generale i PreparedStatement son delle query pre-compilate.

Alla pagina index.jsp aggiungiamo un semplice form:

<form action="DoInsert" method="post">
	<input type="text" name="txtEntrate" value=""/><br/>
	<input type="text" name="txtUscite" value=""/><br/>
	<input type="text" name="txtCausale" value=""/><br/>
	<input type="submit" name="Submit" value="Submit" />
</form>

Come action ci mettiamo la Servlet che andremo a creare.

Ricordatevi che la Servlet va aggiunta al web.xml dopo essere stata creata.