When you use $wpdb->prepare
the placeholder %s
is replaced with something between quotes, so, your query becomes:
"SELECT * FROM 'wp_users' WHERE ID = 1"
but table names in SQL queries must not be wrapped in quotes. So, the right way is:
$sql = $wpdb->prepare( "SELECT * FROM {$wpdb->users} WHERE ID = %d", 1 );
$results = $wpdb->get_results($sql);
Note that this may not work because nothing assure that exists an user with the id = 1. (Actually someone discourages to have user with ID = 1 for security reason).
If you want to pick first user is better to use something like:
$user = $wpdb->get_row( "SELECT * FROM {$wpdb->users} ORDER BY ID ASC LIMIT 1" );
In this way you get first user row, no matter what its ID is.