使用jquery和php将画布作为图像保存到数据库中

时间:2014-08-07 16:24:51

标签: javascript php jquery canvas

所以,我想知道我在代码中做错了什么。我有一个可以绘制的<canvas>元素。在mouseup jQuery将数据作为图像拉出,然后将其发布到PHP,PHP将其存储在数据库中。它不起作用。

function print(){
    var canvas1 = document.getElementById("paint");
    var ctx1 = canvas1.getContext("2d");
    var img = canvas1.toDataURL("image/png");
    img = encodeURIComponent(img);

    $.ajax({
        url: 'poster.php',
        data: { data: img },
                type: 'post',
                success: function(data) {
                    console.log(data);
                }
    });

poster.php

<?php

    $data = $_POST['data'];

    $server = "localhost";
    $username = "root";
    $password = "root";
    $database = "canvas";
    $bd = mysql_connect($server, $username, $password) or die("1");
    $ok = mysql_select_db($database, $bd) or die("2");

    $sql = "INSERT INTO canvas (image) VALUES ($data)";
    $qry = mysql_query($sql);

    echo $qry;

?>

1 个答案:

答案 0 :(得分:1)

在poster.php脚本中执行 var_dump(),看看你的ajax是否正在为它提供一些东西。 然后修改以下内容:

    $sql = "INSERT INTO canvas (image) VALUES ($data)";
    $qry = mysql_query($sql);

为:

    $sql = "INSERT INTO canvas (image) VALUES ($data)";
    if( ! mysql_query($sql) )
   {
       echo "Error: " . mysql_error();
   }

从上面输出可能会显示出去的方式!