Hacktacus
Hacktacus

Reputation: 131

Insert LaTeX code into MySQL

I am using PHP and MySql. TeX is posted to server.php file through a form and exploded into an array:

foreach($_POST['ques'] as $i){  
  $arr = explode('~', $i);
}

$sql = "INSERT INTO `QUESTIONS`(`Text`) VALUES ('$arr[2]')";

$run = mysql_query( $sql, $conn ) or die(mysql_error());

Btw echo $arr[2]; shows correct Tex syntax : "[\Rightarrow{z=\frac{43}{-44}}]"

But on database it is stored without backslashes "[Rightarrow{z=frac{43}{-44}}]"

Upvotes: 3

Views: 1364

Answers (1)

Leif Neland
Leif Neland

Reputation: 1518

Do not use old mysql_* functions. Use mysqli_*. or PDO as in this example.

The parameterized/prepared query makes you to stop worrying about quoting and malicious sql-attacks. (But drive safely anyway)

$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$dbh = new PDO($dsn, $user, $password);
$sth = $dbh->prepare("INSERT INTO `QUESTIONS`(`Text`) VALUES (?)");
$sth->execute(array($arr[2]));

Upvotes: 1

Related Questions