PHP消息“错误:没有选择数据库”,关注此脚本

I have this script, but i don't know what could be wrong here when I hit "post" button on the main page. Where the error can come from?

The page script:

<?php 
session_start();
    include("dbconnection.php");
 function clean($str) {
        $str = @trim($str);
        if(get_magic_quotes_gpc()) {
            $str = stripslashes($str);
        }
        return mysql_real_escape_string($str);
    }

$messages = clean($_POST['message']);
$user =clean($_POST['name']);
$pic =clean($_POST['name1']);
$poster =clean($_POST['poster']);

$sql="INSERT INTO message (messages, user, picture, date_created, poster)
VALUES
('$messages','$user','$pic','".strtotime(date("Y-m-d H:i:s"))."','$poster')";

mysql_query("UPDATE messages SET picture = '$pic' WHERE FirstName='$user'");
if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
header("location: lol.php");
exit();

$name=$_POST['name'];
$pic=$_POST['name1'];

mysql_query("UPDATE messages SET picture = '$pic' WHERE FirstName='$name'");
?> 

This is the dbconnect file:

$con = mysql_connect("hostname","username","pass");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("asl", $con);
?>

this errors seems to be caused by either selecting wrong database or not selecting it.

check dbconnection.php and for this line in it

mysql_select_db("your_database_name",$your_connection);

See whether this line is present and pointing to database or not and make sure this databse exists

Update It seems that your file is not being included try require() so that it produces fatal error and you can see file s being including or not

 require("dbconnection.php"); // will produce fatal errors 

Ensure you have selected your db using mysql_select_db

mysql_connect('hostname','username','password') or die("not able to connect");
mysql_select_db('myDatabase');

And mysql_ extensions are deprecated.. Dont use it

First of all mysql_connect is outdated and unsecure, better use PDO instead

    <?php 

    session_start();
    include("dbconnection.php");
    function clean($str) {
            $str = @trim($str);
            if(get_magic_quotes_gpc()) {
                        $str = stripslashes($str);
            }
            return mysql_real_escape_string($str);
        }

    $messages = clean($_POST['message']);
    $user =clean($_POST['name']);
    $pic =clean($_POST['name1']);
    $poster =clean($_POST['poster']);

    $sql = $db->prepare("INSERT INTO message (messages, user, picture, date_created, poster) VALUES (:messages, :user, :picture, :date_created, :poster)");
    $sql->bindParam(':messages', $messages);
    $sql->bindParam(':user', $user);
    $sql->bindParam(':picture', $pic);
    $sql->bindParam(':date_created', strtotime(date("Y-m-d H:i:s")));
    $sql->bindParam(':poster', $poster);

    $stmt = $db->prepare("UPDATE messages SET picture = :picture WHERE FirstName = :user");
    $stmt->bindParam(':picture', $pic);
    $stmt->bindParam(':user', $user);
    $stmt->execute();


    if (!$sql->execute())
    {
            die('Error: ' . mysql_error());
    }


    $name=$_POST['name'];
    $pic=$_POST['name1'];

    $stmt_2 = $db->prepare("UPDATE messages SET picture = :picture WHERE FirstName = :name");
    $stmt_2->bindParam(':picture', $pic);
    $stmt_2->bindParam(':name', $name);
    $stmt_2->execute();

    header("location: lol.php");

    ?> 

This is the dbconnect file:

    <?php
            //Connect to sql db
            try {
                    $user_db = "username";
                    $pass_db = "password";
                    $db = new PDO('mysql:host=localhost;dbname=asl', $user_db, $pass_db);

            } catch (PDOException $e) {
                    print "Error!: " . $e->getMessage() . "<br/>";
                    die();
            }

    ?>