从mysql转换为PDO

时间:2016-07-26 09:39:19

标签: php mysql pdo

所以我决定通过将我的一些脚本从mysql更新到PDO来实现代码的现代化。我已经使用了最后几天试图更好地了解PDO,但我无法将我找到的示例与我的脚本联系起来。

数据库连接:

mysql_connect('localhost', 'root', '') or die ('The server is facing issues at the moment');
mysql_select_db('openchat') or die('Problem with connecting to the database');

包含数据库连接的Php函数:

function user_exists($username) {
    $username = sanitize($username);
    return (mysql_result(mysql_query("SELECT COUNT(`user_id`) FROM `user` WHERE `username` = '$username'"), 0) == 1) ? true : false;
}

该函数检查用户是否已经存在,其中$ username是表单中的已发布用户名,该函数检查是否使用了用户名。 我只是展示了一小部分代码,所以我希望这是获取代码的足够信息:)

更新
我想我已经制作了一个有效的更新版本!

try {
    $db = new PDO('mysql:host=127.0.0.1;dbname=openchat', 'user', 'user123');
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(Exception $e) {
    die('The server is facing issues' . '</br>' . $e->getMessage());
}

function test() {
    global $db;
    $query = $db->query("SELECT COUNT(`user_id`) FROM `user` WHERE `username` = 'testbruker'");
    $result = $query->fetchColumn();

    return ($result == 1) ? true: false;
}

1 个答案:

答案 0 :(得分:1)

你可以试试这样的东西。但我建议您将数据库信息存储在安全的地方。但这应该做的工作。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="20dp">

    <TextView
        android:id="@+id/base_value"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="1"
        android:textColor="@android:color/black"
        android:textSize="20sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:layout_toRightOf="@+id/base_value"
        android:gravity="top"
        android:text="n"
        android:textColor="@android:color/black"
        android:textSize="12sp" />

</RelativeLayout>

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:gravity="center"
    android:layout_margin="20dp">

    <TextView
        android:id="@+id/base_value_new"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:gravity="center"
        android:text="1"
        android:textColor="@android:color/black"
        android:textSize="20sp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_gravity="bottom"
        android:layout_toRightOf="@+id/base_value_new"
        android:gravity="bottom"
        android:text="n"
        android:textColor="@android:color/black"
        android:textSize="12sp" />

</RelativeLayout>